Skip to content
Snippets Groups Projects
register-equipment.component.ts 4.6 KiB
Newer Older
import { Component, OnInit } from '@angular/core';
Your Name's avatar
Your Name committed
import { FormBuilder, FormGroup } from '@angular/forms';

import { AppModule } from "../app.module";
import { Machine } from "../machine";
import { MachinesService } from "../machines.service";
bruna.c's avatar
bruna.c committed
import * as $ from 'jquery';
import { Router } from '@angular/router'

bruna.c's avatar
bruna.c committed


@Component({
  selector: 'app-register-equipment',
  templateUrl: './register-equipment.component.html',
  styleUrls: ['./register-equipment.component.scss']
})
export class RegisterEquipmentComponent implements OnInit {
bruna.c's avatar
bruna.c committed

  machineData : Machine = {
    serial_number:'',
    date_last_maintenance: {
			day: '',
			month: '',
			year: ''
		},
    date_next_maintenance: {
			day: '',
			month: '',
			year: ''
		},
    Status:'',
    address:'',
    address_number:'',
    district:'',
    city:'',
Your Name's avatar
Your Name committed
    state:'',
		image: new File([''], "empty"),
		imagePath: '',
		id: 0,
  constructor(private machineService: MachinesService,
              private _router: Router) {
bruna.c's avatar
bruna.c committed

bruna.c's avatar
bruna.c committed
		this.machineData.serial_number = this.machineData.serial_number.trim();
		this.machineData.room = this.machineData.room.trim();
		this.machineData.Status = this.machineData.Status.trim();
		this.machineData.address = this.machineData.address.trim();
		this.machineData.address_number = this.machineData.address_number.trim();
		this.machineData.district = this.machineData.district.trim();
		this.machineData.city = this.machineData.city.trim();
		this.machineData.state = this.machineData.state.trim();
		this.machineData.date_last_maintenance.day = this.machineData.date_last_maintenance.day.trim(); 
		this.machineData.date_last_maintenance.month = this.machineData.date_last_maintenance.month.trim();
		this.machineData.date_last_maintenance.year = this.machineData.date_last_maintenance.year.trim(); 

		this.machineData.date_next_maintenance.day = this.machineData.date_next_maintenance.day.trim(); 
		this.machineData.date_next_maintenance.month = this.machineData.date_next_maintenance.month.trim();
		this.machineData.date_next_maintenance.year = this.machineData.date_next_maintenance.year.trim(); 

Your Name's avatar
Your Name committed
			this.machineService.addMachine(this.machineData)
				.subscribe(
					res => {
						window.alert("Máquina "+res.serial_number+" registrada com sucesso");

					    this.machineData.serial_number = '';
					    this.machineData.room = '';

					    this.machineData.date_last_maintenance.day = '';
					    this.machineData.date_last_maintenance.month = '';
					    this.machineData.date_last_maintenance.year = '';
					    this.machineData.date_next_maintenance.day = '';
					    this.machineData.date_next_maintenance.month = '';
					    this.machineData.date_next_maintenance.year = '';

					    this.machineData.Status = '';
					    this.machineData.address = '';
					    this.machineData.address_number = '';
					    this.machineData.district = '';
					    this.machineData.city = '';
					    this.machineData.state = '';
							this.machineData.image = new File([''], "empty");
							this.machineData.imagePath = '';
							this.machineData.id = 0;
					  
Your Name's avatar
Your Name committed
					},
					err => console.log("Error: "+err)
				);
      this._router.navigate(['/edicao-equipamentos']);
  }

  scanQRCode () {

    window.alert("scanning QR code");

  }

Your Name's avatar
Your Name committed
  onFileSelect (event) {
Your Name's avatar
Your Name committed
    if(event.target.files.length > 0) {
Your Name's avatar
Your Name committed
			this.machineData.image = event.target.files[0];
bruna.c's avatar
bruna.c committed
  getLocation() {

		console.log("getting location");
		
bruna.c's avatar
bruna.c committed
    var self = this;

     if (navigator.geolocation) {

       var optn = {maximumAge:Infinity,
         timeout:27000,
         enableHighAccuracy: true};


       navigator.geolocation.getCurrentPosition((position: Position) => {
         if (position) {
           console.log("Latitude: " + position.coords.latitude +
             "Longitude: " + position.coords.longitude);


           this.fillData(function(data){

            self.machineData.address =  data.address.road;
            self.machineData.address_number = data.address.house_number;
            self.machineData.district = data.address.suburb;
            self.machineData.city = data.address.city;
            self.machineData.state = data.address.state;

           }, position);

         }
       },
         (error: PositionError) => console.log("error getting location",error.code), optn);

       } else {
         alert("Geolocation is not supported by this browser.");
       }
  }
  fillData(callback, position){
   var url = "http://nominatim.openstreetmap.org/reverse?lat="+position.coords.latitude+"&lon="+position.coords.longitude+"&format=json";
   $.getJSON(url, function(data){
       callback(data);
   });
 }