public CadastroPerdasQrView(CarregarDadosPerdaQr dadosPerdaQr) { InitializeComponent(); NavigationPage.SetHasBackButton(this, false); BindingContext = new CadastroPerdasQrViewModel(dadosPerdaQr); }
public CadastroPerdasQrViewModel(CarregarDadosPerdaQr dadosPerdaQr) { Title = "Perdas"; navigationService = new NavigationService(); dialogService = new DialogService(); loteRepositorio = new LoteRepository(); perdaRepositorio = new PerdaRepository(); mudaRepositorio = new MudaRepository(); pontoControleRepositorio = new PontoControleRepository(); estagioRepositorio = new EstagioRepository(); perdaMotivoRepositorio = new PerdaMotivoRepository(); userRepositorio = new UserRepository(); _dadosPerdaQr = dadosPerdaQr; Lotes(); Mudas(); PontoControles(); Estagios(); PerdaMotivo(); }
private async Task ExecuteLeitorQRCommand() { var scanner = new ZXing.Mobile.MobileBarcodeScanner(); var result = await scanner.Scan(); scanner.Cancel(); if (result != null) { IsBusy = true; string loteId = string.Empty; string loteCodigo = string.Empty; string loteProdutoId = string.Empty; string mudaId = string.Empty; string mudaNomeComum = string.Empty; string quantidade = string.Empty; string pontoControleId = string.Empty; string pontoControleCodigo = string.Empty; string pontoControleTitulo = string.Empty; string estagioId = string.Empty; string estagioCodigo = string.Empty; string estagioTitulo = string.Empty; string[] resultadoQR = result.Text.Split('|'); if (resultadoQR.Count() < 8) { await dialogService.AlertAsync("Etiqueta QR", "Etiqueta incompatível! Gere uma nova etiqueta QR!", "Ok"); IsBusy = false; } var dadosQR = new { qrLoteCod = resultadoQR[0], qrMudaId = resultadoQR[1], qrQtd = resultadoQR[2], qrDataEstaq = resultadoQR[3], qrDensidade = resultadoQR[4], qrPontoControleId = resultadoQR[5], qrEstagioId = resultadoQR[6], qrColaboradorId = resultadoQR[7], qrLivre = resultadoQR[8], qrTipoEtiqueta = resultadoQR[9] }; #region Lote if (dadosQR.qrLoteCod != null) { loteCodigo = dadosQR.qrLoteCod; //Lote ID string loteInfo = loteRepositorio.ObterLotePorId(dadosQR.qrLoteCod); var tmpLoteInfo = loteInfo.Split('|'); if (tmpLoteInfo[0] == "0") { await dialogService.AlertAsync("Etiqueta QR", "Lote indicado no QR inexistente! Sincronize o dispositivo.", "Ok"); } loteId = tmpLoteInfo[2]; //Lote Produto ID string loteProdutoInfo = loteRepositorio.ObterLoteProdutoPorId(dadosQR.qrLoteCod); var tmpLoteprodutoInfo = loteProdutoInfo.Split('|'); if (tmpLoteprodutoInfo[0] == "0") { await dialogService.AlertAsync("Etiqueta QR", "Produto associado ao Lote indicado no QR inexistente! Sincronize o dispositivo.", "Ok"); } loteProdutoId = tmpLoteInfo[2]; } #endregion #region Muda if (dadosQR.qrMudaId != null) { mudaId = dadosQR.qrMudaId; //Muda Nome Comum string mudaIndo = mudaRepositorio.ObterInformacoesParaIdentificacao(int.Parse(dadosQR.qrMudaId)); var tmpMudainfo = mudaIndo.Split('|'); if (tmpMudainfo[0] == "0") { await dialogService.AlertAsync("Etiqueta QR", "Muda indicada no QR inexistente! Sincronize o dispositivo.", "Ok"); } mudaNomeComum = tmpMudainfo[3]; } #endregion #region Quantidade if (dadosQR.qrQtd != null) { quantidade = dadosQR.qrQtd; } #endregion #region Ponto Controle if (resultadoQR.Count() >= 8) { if (dadosQR.qrPontoControleId == null) { pontoControleId = string.Empty; pontoControleCodigo = string.Empty; pontoControleTitulo = string.Empty; } else { pontoControleId = dadosQR.qrPontoControleId; //Ponto Controle Info string pontoControleInfo = pontoControleRepositorio.ObterInformacoesParaIdentificacao(int.Parse(dadosQR.qrPontoControleId)); var tmpPontoControleInfo = pontoControleInfo.Split('|'); if (tmpPontoControleInfo[0] == "0") { pontoControleId = string.Empty; pontoControleCodigo = string.Empty; pontoControleTitulo = string.Empty; await dialogService.AlertAsync("Etiqueta QR", "Ponto de Controle indicado não localizado!", "Ok"); } else { pontoControleCodigo = tmpPontoControleInfo[4]; pontoControleTitulo = tmpPontoControleInfo[5]; } } } #endregion #region Estagio if (!string.IsNullOrEmpty(pontoControleCodigo)) { if (dadosQR.qrEstagioId == null) { estagioId = string.Empty; estagioCodigo = string.Empty; estagioTitulo = string.Empty; } else { estagioId = dadosQR.qrEstagioId; //Estagio Info string estagioInfo = estagioRepositorio.ObterInformacoesParaIdentificacao(int.Parse(dadosQR.qrPontoControleId), int.Parse(dadosQR.qrEstagioId)); var tmpestagioInfo = estagioInfo.Split('|'); if (tmpestagioInfo[0] == "0") { estagioId = string.Empty; estagioCodigo = string.Empty; estagioTitulo = string.Empty; await dialogService.AlertAsync("Etiqueta QR", "Estágio indicado não localizado!", "Ok"); } else { estagioCodigo = tmpestagioInfo[5]; estagioTitulo = tmpestagioInfo[6]; } } } #endregion if (!string.IsNullOrEmpty(loteId) && !string.IsNullOrEmpty(loteCodigo) && !string.IsNullOrEmpty(loteProdutoId) && !string.IsNullOrEmpty(mudaId) && !string.IsNullOrEmpty(mudaNomeComum) && !string.IsNullOrEmpty(quantidade)) { var carregarCadastroPerdasQr = new CarregarDadosPerdaQr { OloteId = loteId, OloteCodigo = loteCodigo, OloteProdutoId = loteProdutoId, OmudaId = mudaId, OmudaNomeComum = mudaNomeComum, Oquantidade = quantidade, OpontoControleId = pontoControleId, OestagioId = estagioId }; await navigationService.PushAsync(new CadastroPerdasQrView(carregarCadastroPerdasQr)); } else { await dialogService.AlertAsync("Etiqueta QR", "Etiqueta incompatível! Gere uma nova etiqueta QR!", "Ok"); } if (dadosQR.qrTipoEtiqueta == null || dadosQR.qrTipoEtiqueta != "1") { await dialogService.AlertAsync("ERRO", "Erro ao carregar dados", "Ok"); } } }