public CadastroViewModel(IDialogService dialogService, IContribuinteService contribuinteService) : base("Cadastro") { _dialogService = dialogService; _contribuinteService = contribuinteService; Contribuinte = new Contribuinte(); GravarClickedCommand = new Command(() => { if (ValidaPreenchimentoCampos()) { if (contribuinteService.AdicionarContribuinte(_contribuinte)) { _dialogService.AlertAsync("Status", "Contribuinte cadastrado com sucesso!", "Ok"); } else { _dialogService.AlertAsync("Status", "Não foi possível cadastrar o novo contribuinte. Verifique sua conexão!", "Ok"); } Contribuinte = new Contribuinte(); } }); }
public async Task <List <Estagio> > ListaLocalEstagio(int pontoControleId, int loteId, int mudaId, DateTime dataEstaq) { string query = "SELECT distinct " + "PCE.produto_id, " + "PCE.ponto_controle_id, " + "PCE.estagio_id, PCE.codigo, " + "PCE.titulo, " + "PCE.unidade, " + "PCE.maturacao, " + "PCE.maturacao_seg, " + "PCE.ind_alertas, " + "PCE.ordem " + "FROM Estagio PCE " + "INNER JOIN Inv_Item I1 ON I1.ponto_controle_id = PCE.ponto_controle_id AND I1.estagio_id = PCE.estagio_id " + "WHERE I1.lote_id = " + "'" + loteId + "'" + " " + "AND I1.ponto_controle_id = " + "'" + pontoControleId + "'" + " " + "AND I1.muda_id = " + "'" + mudaId + "'" + " " + "AND date(I1.data_estaq) = " + "'" + dataEstaq + "'" + " " + "AND (IFNULL((SELECT sum(I2.qtde) " + "FROM Inv_Item I1 " + "INNER JOIN Inv I2 ON I2.inv_item_id = I1.inv_item_id " + "WHERE I1.ponto_controle_id = PCE.ponto_controle_id " + "AND I1.estagio_id = PCE.estagio_id),0) - " + "IFNULL((SELECT sum(IE.qtde_amostragem) " + "FROM Inv_Evo IE " + "INNER JOIN Inv_Item I1 ON I1.inv_item_id = IE.inv_item_id " + "WHERE IE.ponto_controle_ori_id = PCE.ponto_controle_id " + "AND IE.estagio_ori_id = PCE.estagio_id),0) ) > 0 " + "ORDER BY PCE.ordem"; List <Estagio> listaLocalEstagio = new List <Estagio>(); try { var dados = dataBase._conexao.Query <Estagio>(query); for (int i = 0; i < dados.Count; i++) { listaLocalEstagio.Add(dados[i]); } } catch (Exception erro) { await dialogService.AlertAsync("Erro", erro.ToString(), "Ok"); } return(listaLocalEstagio); }
private bool ValidaPreenchimentoCampos() { if (Contribuinte.CPF.Length != 14) //Com a máscara. { _dialogService.AlertAsync("Campo Obrigatório", "Favor informar um CPF válido.", "Ok"); return(false); } if (Contribuinte.Nome.Length == 0) { _dialogService.AlertAsync("Campo Obrigatório", "Favor preencher o campo Nome.", "Ok"); return(false); } return(true); }
private async Task <bool> DoAsync(string actionName, Func <Task <bool> > action, bool hideDialogs = false) { try { return(await action()); } catch (FileNotFoundException) { if (!hideDialogs) { await dialogService.AlertLocalizedAsync($"Mindmap_{actionName}Failed_NotFound_Alert"); } } catch (Exception e) { if (!hideDialogs) { #if DEBUG await dialogService.AlertAsync($"The operation {actionName} failed with: {e}"); #else await dialogService.AlertLocalizedAsync($"Mindmap_{actionName}Failed_Unknown_Alert"); #endif } HockeyClient.Current.TrackException(e); } finally { RaisePropertiesChanged(); } return(false); }
async Task CreateNewAppointmentAsync() { try { IsBusy = true; var patient = await client.PatientsService.GetAsync( AppSettings.CurrentPatientId); int roomNumber = _random.Next(AppSettings.MinimumRoomNumber, AppSettings.MaximumRoomNumber); var appointment = new ClinicAppointment { PatientId = patient.PatientId, DoctorId = _selectedDoctor.DoctorId, TenantId = _selectedDoctor.TenantId, Speciality = _selectedDoctor.Speciality, DateTime = _selectedAppointmentDateAndHour, Description = AppSettings.DefaultAppointmentDescription, RoomNumber = roomNumber }; await client.AppointmentsService.PostAsync(appointment); if (AppSettings.OutlookIntegration) { // Add the event to the patient's calendar await MicrosoftGraphService.AddEventAsync( subject : "Clinic Appointment with " + _selectedDoctor.Name, startTime : _selectedAppointmentDateAndHour, endTime : _selectedAppointmentDateAndHour + TimeSpan.FromMinutes(45), attendeeEmails : new string[0], description : AppSettings.DefaultAppointmentDescription, locationDisplayName : $"Room {roomNumber}"); // Add the events to the doctor's calendar. var @event = new Office365.Appointment { DoctorPrincipalName = _selectedDoctor.Email, Subject = "Clinic Appointment with " + patient.Name, Description = AppSettings.DefaultAppointmentDescription, PatientEmail = patient.Email, Start = _selectedAppointmentDateAndHour, LengthInMinutes = 45, Location = $"Room {roomNumber}" }; //TODO: Uncomment to enable doctor calendar integration. //await client.DoctorCalendarService.PostAsync(@event); } await dialogService.AlertAsync("The appointment was created successfully.", "New appointment", OkText); } finally { IsBusy = false; } }
async void MvpApiService_RequestErrorOccurred(object sender, Services.Helpers.ApiServiceEventArgs e) { if (e.IsBadRequest) { await dialogService.AlertAsync( "That request wasn't quite right. Try again later.", "Oh boy, that's not good!", "OK"); } else if (e.IsServerError) { await dialogService.AlertAsync( "The MVP API messed something up. Couldn't grab that data right now.", "Oh boy, that's not good!", "OK"); } }
private bool ValidaPreenchimentoCampos() { if (ValorSalarioMinimo.ToString() == string.Empty || ValorSalarioMinimo <= 0) //Com a máscara. { _dialogService.AlertAsync("Campo Obrigatório", "Favor informar um valor válido.", "Ok"); return(false); } return(true); }
private async Task ExecuteSelecionarHistoricoCommand(ListaHistorico historicoSelecionado) { if (historicoSelecionado == null) { return; } bool deleteAceite = await dialogService.AlertAsync($"LOTE {historicoSelecionado.Codigo}", "Deseja apagar este registro ?", "Sim", "Não"); if (deleteAceite) { try { historicoRepositorio.Deletar(historicoSelecionado.IdHistorico); await RefreshCommandExecute(); } catch (Exception) { await dialogService.AlertAsync("", $"Erro ao deletar item {historicoSelecionado.IdHistorico}", "Ok"); } } }
private async Task ExecuteSelecionarAtividadeListaCommand(ListaAtividades atividadeSelecionada) { if (atividadeSelecionada == null) { return; } bool deleteAceite = await dialogService.AlertAsync($"ATIVIDADE {atividadeSelecionada.codigo}", "Deseja apagar este registro ?", "Sim", "Não"); if (deleteAceite) { try { atividadeRepositorio.Deletar(atividadeSelecionada.idatividade); await RefreshCommandExecute(); } catch (Exception) { await dialogService.AlertAsync("", $"Erro ao deletar item {atividadeSelecionada.idatividade}", "Ok"); } } }
public ListaViewModel(IDialogService dialogService, IContribuinteService contribuinteService) : base("Lista") { _dialogService = dialogService; _contribuinteService = contribuinteService; ValorSalarioMinimo = 800.00; AtualizaLista(); AtualizarClickedCommand = new Command(() => { if (ValidaPreenchimentoCampos()) { AtualizaLista(); _dialogService.AlertAsync("Status", "Valor do salário mínimo foi atualizado!", "Ok"); } }); }
public async Task <List <Estaq> > ListaDadosEstaqueamento(int loteId, int mudaId, DateTime dataEstaq) { string query = "SELECT " + "lote_id, lote, muda_id, muda, data_estaq, qtde, qualidade_id, qualidade, colab_estaq_id, colab_estaq " + "FROM Estaq " + "WHERE lote_id = " + "'" + loteId + "'" + " AND muda_id = " + "'" + mudaId + "'" + " AND data_estaq = " + "'" + dataEstaq + "'" + " ORDER BY lote, muda, data_estaq"; try { return(dataBase._conexao.Query <Estaq>(query)); } catch (Exception erro) { await dialogService.AlertAsync("Erro", erro.ToString(), "Ok"); } return(dataBase._conexao.Query <Estaq>(query)); }
private Task LoadStories() { async Task LoadAsync() { IsBusy = true; var ids = await _news.GetStoryListAsync(StoryKind); var items = ids.Select((x, i) => new StoryItemViewModel(x, i)).ToList(); _stories.Clear(); _stories.AddRange(items); _storyLookup = items.ToDictionary(i => i.Id); _news.EnqueueItems(ids.ToList()); IsBusy = false; } var notifyTask = _reachability.IsConnectionAvailable ? MvxNotifyTask.Create(LoadAsync) : MvxNotifyTask.Create(_dialog.AlertAsync("Try again", "No internet connection", "OK")); LoadingTask = notifyTask; return(notifyTask.Task); }
public async Task <Sincronismo> ObterDadosSincronismo(string appKey, string idioma) { HttpClient request = new HttpClient { BaseAddress = new Uri(Constantes.BASE_URL) }; //FormUrlEncodedContent parametros = new FormUrlEncodedContent(new[] { // new KeyValuePair<string, string>("l", idioma), // new KeyValuePair<string, string>("v", Constantes.VERSAO_APP), // new KeyValuePair<string, string>("a", "s"), // new KeyValuePair<string, string>("k", appKey) //}); try { string url = Constantes.BASE_URL + "l=" + idioma + "&v=" + Constantes.VERSAO_APP + "&a=s" + "&k=" + appKey; HttpResponseMessage response = request.PostAsync(url, null).GetAwaiter().GetResult(); if (response.IsSuccessStatusCode) { var conteudoResponse = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); var dadosSincronismo = JsonConvert.DeserializeObject <Sincronismo>(conteudoResponse); var sincronismo = new Sincronismo { sinc_stat = dadosSincronismo.sinc_stat, disp_num = dadosSincronismo.disp_num, senha = dadosSincronismo.senha, nome = dadosSincronismo.nome, sobrenome = dadosSincronismo.sobrenome, empresa = dadosSincronismo.empresa, autosinc = dadosSincronismo.autosinc, autosinc_time = dadosSincronismo.autosinc_time, sinc_date = dadosSincronismo.sinc_date, ind_ident = dadosSincronismo.ind_ident, ind_atv = dadosSincronismo.ind_atv, ind_mnt = dadosSincronismo.ind_mnt, ind_exp = dadosSincronismo.ind_exp, ind_hist = dadosSincronismo.ind_hist, ind_mov = dadosSincronismo.ind_mov, ind_inv = dadosSincronismo.ind_inv, ind_per = dadosSincronismo.ind_per, produto = dadosSincronismo.produto, objetivo = dadosSincronismo.objetivo, ponto_controle = dadosSincronismo.ponto_controle, estagio = dadosSincronismo.estagio, muda = dadosSincronismo.muda, lote = dadosSincronismo.lote, perda_motivo = dadosSincronismo.perda_motivo, monit = dadosSincronismo.monit, monit_cod_arv = dadosSincronismo.monit_cod_arv, monit_parcela = dadosSincronismo.monit_parcela, colaborador = dadosSincronismo.colaborador, lista_atv = dadosSincronismo.lista_atv, qualidade = dadosSincronismo.qualidade, exped_dest = dadosSincronismo.exped_dest, estaq = dadosSincronismo.estaq }; return(sincronismo); } } catch (Exception ex) { await _dialogService.AlertAsync("Erro", ex.ToString(), "Ok"); } return(null); }
private async Task ExecuteLeitorQRCommand() { var scanner = new ZXing.Mobile.MobileBarcodeScanner(); var result = await scanner.Scan(); scanner.Cancel(); if (result != null) { IsBusy = true; string[] resultadoQR = result.Text.Split('|'); if (resultadoQR.Count() < 10) { await dialogService.AlertAsync("Etiqueta QR", "Etiqueta incompatível! Gere uma nova etiqueta QR!", "Ok"); IsBusy = false; return; } /* * A sequencia do QR novo é a seguinte: * lote_codigo|muda_id|qtde|data_estaq|band_dens|ponto_controle_id|estagio_id|colab_id|livre|tipo_etiqueta| * * A sequencia do QR em produção: * lote_codigo|muda_id|qtde|data_estaq|band_dens|ponto_controle_id|estagio_id|colab_id| */ 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] }; if (dadosQR.qrTipoEtiqueta == null || dadosQR.qrTipoEtiqueta != "1") { await dialogService.AlertAsync("Etiqueta QR", "Etiqueta incompatível! Gere uma nova etiqueta QR!", "Ok"); return; } #region Lote var temp = loteRepositorio.ObterInformacoesParaIdentificacao(dadosQR.qrLoteCod); var infoLote = temp.Split('|'); if (infoLote[0] == "0") { await dialogService.AlertAsync("Etiqueta QR", "Lote indicado no QR inexistente! Sincronize o dispositivo.", "Ok"); } var informacoesLote = new { stat = infoLote[0], msg = infoLote[1], infoLoteId = Convert.ToInt32(infoLote[2]), infoLoteCodigo = infoLote[3], infoLoteObjetivo = infoLote[4], infoLoteCliente = infoLote[5], infoLoteProduto = infoLote[6], }; #endregion #region Muda var temp2 = mudaRepository.ObterInformacoesParaIdentificacao(Convert.ToInt32(dadosQR.qrMudaId)); var infoMuda = temp2.Split('|'); List <string> listaMuda = new List <string>(); listaMuda = infoMuda.ToList <string>(); if (infoMuda[0] == "0") { await dialogService.AlertAsync("Etiqueta QR", "Muda indicada no QR inexistente! Sincronize o dispositivo.", "Ok"); } var info_muda_id = infoMuda[2]; var info_muda_nome_interno = infoMuda[3]; var info_muda_nome = infoMuda[4]; var info_muda_especie = infoMuda[5]; var info_muda_origem = infoMuda[8]; var info_muda_viveiro = infoMuda[9]; var info_muda_canaletao = infoMuda[10]; var info_muda_linha = infoMuda[11]; var info_muda_coluna = infoMuda[12]; var info_muda_qtde = infoMuda[13]; #endregion #region Obtem Lista de Datas de Estaqueamento com colaborador e qualidade string lote = string.Empty; string muda = string.Empty; string dataEstqueamento = string.Empty; string quantidade = string.Empty; string qualidade = string.Empty; string colaboradorEstaqueamento = string.Empty; string estaqueamentos = string.Empty; double contadorQuantidade; contadorQuantidade = 0; // Lista Colaboradores Responsaveis Por Estaqueamento de Lote/Muda/Estaq var listaEstaqueamento = await estaqRepository.ListaDadosEstaqueamento(informacoesLote.infoLoteId, Convert.ToInt32(dadosQR.qrMudaId), Convert.ToDateTime(dadosQR.qrDataEstaq)); foreach (var item in listaEstaqueamento) { if (item.qtde != null) { contadorQuantidade = contadorQuantidade + Convert.ToDouble(item.qtde); estaqueamentos += $"<li>{item.colab_estaq} - <b style='color:#ff7b00;'>{item.qtde}</b></li>"; } } #endregion #region Lista Colaboradores Responsaveis Por Estaqueamento de Lote/Muda/Estaq string locais = string.Empty; string listaPontoControle = string.Empty; string listaPontoControleEstaqueamento = string.Empty; string quantidadePontoControleEstaqueamento = string.Empty; List <Ponto_Controle> listaLocalPontoControle = await pontoControleRepository.ListaDadosPontoControle(informacoesLote.infoLoteId, Convert.ToInt32(dadosQR.qrMudaId), Convert.ToDateTime(dadosQR.qrDataEstaq)); foreach (var pontoControle in listaLocalPontoControle) { locais += $"{pontoControle.titulo}"; // Lista Estagios do Ponto de Controle onde existe Lote/Muda/Estaq List <Estagio> listaLocalEstagio = await estagioRepository.ListaLocalEstagio(pontoControle.ponto_controle_id, informacoesLote.infoLoteId, Convert.ToInt32(dadosQR.qrMudaId), Convert.ToDateTime(dadosQR.qrDataEstaq)); foreach (var pontoControleEstaqueamento in listaLocalEstagio) { quantidadePontoControleEstaqueamento = await estagioRepository.LocalQuantidadeMudasNoEstagio(pontoControle.ponto_controle_id, informacoesLote.infoLoteId, Convert.ToInt32(dadosQR.qrMudaId), Convert.ToDateTime(dadosQR.qrDataEstaq)); listaPontoControleEstaqueamento += $"<li>{pontoControleEstaqueamento.titulo}: <b style='color:#ff7b00;'>{quantidadePontoControleEstaqueamento}</b></li>"; } if (!string.IsNullOrEmpty(listaPontoControleEstaqueamento)) { locais += $"<ul style='list-style-image: url((BASE64_IMG_SRC_LISTDOT_ESTAGIO));'>{listaPontoControleEstaqueamento}</ul>"; } locais += "</li>"; } #endregion #region Pagina HTML string codigoHtml = string.Empty; if (informacoesLote.stat == "1") { #region Planta string plantaHtml = $"<b>{info_muda_nome_interno}"; if (!string.IsNullOrEmpty(info_muda_especie)) { plantaHtml += $" - <small><i>{info_muda_especie}</i></small>"; } else if (!string.IsNullOrEmpty(info_muda_especie)) { plantaHtml += $" - <small><i>{info_muda_nome}</i></small>"; } plantaHtml += "</b><br/>"; string origem = $"{infoMuda[8]}"; string viveiro = $"{infoMuda[9]}"; string canaletao = $"{infoMuda[10]}"; string linha = $"{infoMuda[11]}"; string coluna = $"{infoMuda[12]}"; string qtde = $"{infoMuda[13]}"; string local = $"Linha: {linha}, Coluna: {coluna}, Qtde: {qtde}"; if (!string.IsNullOrEmpty(plantaHtml)) { //Origem plantaHtml += "<br/><b>Origem:</b> "; if (!string.IsNullOrEmpty(info_muda_origem)) { plantaHtml += $"<small>{info_muda_origem}</small>"; } else { plantaHtml += $"<small><i style='color:#ff0000;'>Indefinido!</i></small>"; } //Viveiro plantaHtml += "<br/><b>Viveiro:</b> "; if (!string.IsNullOrEmpty(info_muda_viveiro)) { plantaHtml += $"<small>{info_muda_viveiro}</small>"; } else { plantaHtml += "<small><i style='color:#ff0000;'>Indefinido!</i></small>"; } //Caneletao plantaHtml += "<br/><b>Caneletão:</b> "; if (!string.IsNullOrEmpty(info_muda_canaletao)) { plantaHtml += $"<small>{info_muda_canaletao}</small>"; } else { plantaHtml += "<small><i style='color:#ff0000;'>Indefinido!</i></small>"; } //Local plantaHtml += "<br/><b>Local:</b> <small>"; plantaHtml += "Linha: "; if (!string.IsNullOrEmpty(info_muda_coluna)) { plantaHtml += $"<small>{info_muda_coluna}</small>"; } else { plantaHtml += "<small><i style='color:#ff0000;'>Indefinido!</i></small>"; } plantaHtml += ", Coluna: "; if (!string.IsNullOrEmpty(info_muda_coluna)) { plantaHtml += $"<small>{info_muda_coluna}</small>"; } else { plantaHtml += "<small><i style='color:#ff0000;'>Indefinido!</i></small>"; } plantaHtml += ", Qtde: "; if (!string.IsNullOrEmpty(info_muda_qtde)) { plantaHtml += $"{info_muda_qtde}"; } else { plantaHtml += "<small><i style='color:#ff0000;'>Indefinido!</i></small>"; } plantaHtml += "</small>"; } #endregion #region Lote string loteHtml = informacoesLote.infoLoteCodigo; if (!string.IsNullOrEmpty(informacoesLote.infoLoteProduto)) { loteHtml += $" (<small>{informacoesLote.infoLoteProduto}</small>)"; } #endregion #region Quantida de Estaqueamento string quantidadeEstaquamento = Convert.ToString(contadorQuantidade); string estaqs = string.Empty; if (!string.IsNullOrEmpty(estaqueamentos)) { estaqs = $"<div class='font-size-70'><ul style='list-style-image: url((BASE64_IMG_SRC_LISTDOT2));';>{estaqueamentos}</ul></div>"; } #endregion codigoHtml = "<html><head><title>Prodfy APP</title></head>"; codigoHtml += "<style type='text/css'>"; codigoHtml += "body { background-color: transparent; font-family: Helvetica; font-size: 18px; margin:10px 0; padding:0; text-align:center; margin-left: 15px; margin-right: 15px; margin-top: 15px; }"; codigoHtml += ".info-table { width: 100%; } .info-table th { width: 60px; font-size: 18px; text-align: left; vertical-align: top; padding: 10px; color:black; white-space: nowrap; } .info-table td { width: 400px; font-size: 18px; text-align: left; vertical-align: top; padding: 10px; color:#0000ff; }"; codigoHtml += ".font-size-70 { font-size: 70%; }"; codigoHtml += "</style><body><center>"; codigoHtml += "<table class='info-table'>"; codigoHtml += $"<tr><th><b>Planta:</b></th></tr><tr><td><small>{plantaHtml}</small></td></tr>"; codigoHtml += $"<tr><th><br/><b>Lote:</b></th></tr><tr><td>{loteHtml}</td></tr>"; codigoHtml += $"<tr><th><br/><b>Objetivo:</b></th></tr><tr><td><small>{informacoesLote.infoLoteObjetivo}</small></td></tr>"; codigoHtml += $"<tr><th><br/><b>Cliente:</b></th></tr><tr><td><small>{informacoesLote.infoLoteCliente}</small></td></tr>"; codigoHtml += $"<tr><th><br/><b>Estaqueamento:</b></th></tr><tr><td>{Convert.ToDateTime(dadosQR.qrDataEstaq).ToShortDateString()} - <b style='color:#ff7b00;'>{quantidadeEstaquamento}</b> ({CalculaIdade.CalcularPorDataIniciaDataFinal(Convert.ToDateTime(dadosQR.qrDataEstaq), DateTime.Now)} Dias)</td></tr>"; codigoHtml += $"<tr><th><br/><b>Colaboradores:</b></th></tr><tr><td>{estaqs}</td></tr>"; codigoHtml += "</style><body><center>"; #region Localização string localHtml = string.Empty; if (!string.IsNullOrEmpty(locais)) { localHtml += locais; } #endregion string cap = string.Empty; if (string.IsNullOrEmpty(estaqs)) { cap = "<br/>"; } codigoHtml += $"<tr><th>{cap}<b>Localização:</b></th></tr><tr><td>{localHtml}</td></tr>"; codigoHtml += "</table><br/><br/></center></body></html>"; } else { codigoHtml = "<html>" + "<head>" + $"<title>Prodfy APP</title>" + "</head>" + "<style type='text/css'>" + "body " + "{ background-color: transparent;" + "font-family: Helvetica;" + "font-size: 60px;" + "margin:10px 0;" + " padding:0;" + "text-align:center;" + "}" + ".info-table { width: 100%; }" + ".info-table th { width: 60px;" + "font-size: 60px;" + "text-align: right;" + "vertical-align: top;" + "padding: 10px;" + "color:black;" + "white-space: nowrap;" + "}" + ".info-table td { width: 400px;" + "font-size: 60px;" + "text-align: left;" + "vertical-align: top;" + "padding: 10px;" + "color:#0000ff;" + "}" + ".colab_list { font-size: 70%; }" + "</style>" + "<body>" + $"<center><h3 style='color: red;'>{informacoesLote.msg}</h3></center>" + "</body>" + "</html>"; } #endregion IsBusy = false; await navigationService.PushAsync(new PaginaHtmlIdentificacaoView(codigoHtml)); } }
private async void ProfileItem_Tapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs e) { await _dialogService.AlertAsync("Show user profile."); }
private async void ShowAlertClicked(object sender, EventArgs e) { await _dialogService.AlertAsync("Alert title", "alert content"); }
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"); } } }