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();
                }
            });
        }
Beispiel #2
0
        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);
        }
Beispiel #5
0
        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;
            }
        }
Beispiel #6
0
 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);
        }
Beispiel #8
0
        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");
                }
            }
        }
Beispiel #9
0
        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");
                }
            });
        }
Beispiel #11
0
        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));
        }
Beispiel #12
0
        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);
        }
Beispiel #13
0
        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.");
 }
Beispiel #16
0
 private async void ShowAlertClicked(object sender, EventArgs e)
 {
     await _dialogService.AlertAsync("Alert title", "alert content");
 }
Beispiel #17
0
        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");
                }
            }
        }