Exemplo n.º 1
0
        private Bitmap PegarImagensServidor(RegistroDeReforma registroDeReforma, int index)
        {
            Bitmap imagem = null;

            indexAtual = index;

            try
            {
                var firstLetterClient = registroDeReforma.NomeCliente.Substring(0, 1);
                var fullClientName    = registroDeReforma.NomeCliente.RemoveSpecialCaracters();
                var apelido           = registroDeReforma.NomeFantasia.RemoveSpecialCaracters();
                var cityName          = registroDeReforma.Cidade.RemoveSpecialCaracters();
                var dateRR            = DateTime.Now;
                var nf     = registroDeReforma.NotaFiscal;
                var rr     = registroDeReforma.DescricaoRR;
                var eqDesc = registroDeReforma.Equipamento.RemoveSpecialCaracters();

                var smbPath  = ConfigurationBase.Instance.SmbPath;
                var filePath = string.Format(ConfigurationBase.Instance.FilePath,
                                             firstLetterClient, fullClientName, apelido,
                                             cityName, dateRR.Year, nf, rr, eqDesc.TrimEnd());
                var auth2       = new NtlmPasswordAuthentication(ConfigurationBase.Instance.NetworkDomain, ConfigurationBase.Instance.NetworkUser, ConfigurationBase.Instance.NetworkPassword);
                var pathConfirm = new SmbFile(string.Format("{0}/{1}", smbPath, filePath), auth2);

                //Create file.
                if (pathConfirm.Exists())
                {
                    SmbFile file = pathConfirm.ListFiles().ToList()[index];

                    if (file.IsFile())
                    {
                        //Get readable stream.
                        var readStream = file.GetInputStream();

                        //Create reading buffer.
                        var memStream = new MemoryStream();

                        //Get bytes.
                        ((Stream)readStream).CopyTo(memStream);

                        //Dispose readable stream.
                        readStream.Dispose();

                        byte[] byteImage = memStream.ToArray();
                        imagem = BitmapFactory.DecodeByteArray(byteImage, 0, byteImage.Length);
                    }
                }

                else
                {
                    throw new Exception("Diretório não encontrado");
                }
            }
            catch (Exception ex)
            {
                Program.Main.ShowMessage(ex.Message, Android.Widget.ToastLength.Long, Base.Enums.ToastMessageType.Error);
            }

            return(imagem);
        }
Exemplo n.º 2
0
        private void InserirImagensServidor(RegistroDeReforma registroDeReforma)
        {
            foreach (var item in registroDeReforma.ListaDeImagens)
            {
                try
                {
                    //Remover Caracteres Especiais, Nome, NomeFantasia, Descricao do Equipamento e Cidade
                    //
                    //Primeira Letra nome Cliente/Nome --
                    //NomeFantasia /Unidade {Cidade}/Ano/NF NroNota R.R. NroRRConsulta DescricaoEquipamento/
                    //NomeImagem DataComUnderline
                    //Get the SmbFile specifying the file name to be created.

                    var firstLetterClient = registroDeReforma.NomeCliente.Substring(0, 1);
                    var fullClientName    = registroDeReforma.NomeCliente.RemoveSpecialCaracters();
                    var apelido           = registroDeReforma.NomeFantasia.RemoveSpecialCaracters();
                    var cityName          = registroDeReforma.Cidade.RemoveSpecialCaracters();
                    var dateRR            = DateTime.Parse(registroDeReforma.DataCadastro);
                    var nf     = registroDeReforma.NotaFiscal;
                    var rr     = registroDeReforma.DescricaoRR;
                    var eqDesc = registroDeReforma.Equipamento.RemoveSpecialCaracters();

                    var smbPath  = ConfigurationBase.Instance.SmbPath;
                    var filePath = string.Format(ConfigurationBase.Instance.FilePath,
                                                 firstLetterClient, fullClientName, apelido,
                                                 cityName, dateRR.Year, nf, rr, eqDesc.TrimEnd());
                    var fileName = string.Format("{0}.{1}", DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss.fff").Replace('/', '_').Replace(':', '_').Replace(' ', '_'), "jpg");

                    var auth2       = new NtlmPasswordAuthentication(ConfigurationBase.Instance.NetworkDomain, ConfigurationBase.Instance.NetworkUser, ConfigurationBase.Instance.NetworkPassword);
                    var pathConfirm = new SmbFile(string.Format("{0}/{1}", smbPath, filePath), auth2);

                    //Create file.
                    if (!pathConfirm.Exists())
                    {
                        pathConfirm.Mkdirs();
                    }

                    var file = new SmbFile(string.Format("{0}/{1}/{2}", smbPath, filePath, fileName), auth2);
                    file.CreateNewFile();

                    //Get writable stream.
                    var writeStream = file.GetOutputStream();

                    //Write bytes.
                    writeStream.Write(Helpers.Helpers.GetImageArray(item));

                    //Dispose writable stream.
                    writeStream.Dispose();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
        }
Exemplo n.º 3
0
        private int PegaQuantidadeImagensServidor(RegistroDeReforma registroDeReforma)
        {
            int quantidadeImagens = 0;

            try
            {
                var firstLetterClient = registroDeReforma.NomeCliente.Substring(0, 1);
                var fullClientName    = registroDeReforma.NomeCliente.RemoveSpecialCaracters();
                var apelido           = registroDeReforma.NomeFantasia.RemoveSpecialCaracters();
                var cityName          = registroDeReforma.Cidade.RemoveSpecialCaracters();
                var dateRR            = DateTime.Now;
                var nf     = registroDeReforma.NotaFiscal;
                var rr     = registroDeReforma.DescricaoRR;
                var eqDesc = registroDeReforma.Equipamento.RemoveSpecialCaracters();

                var smbPath  = ConfigurationBase.Instance.SmbPath;
                var filePath = string.Format(ConfigurationBase.Instance.FilePath,
                                             firstLetterClient, fullClientName, apelido,
                                             cityName, dateRR.Year, nf, rr, eqDesc.TrimEnd());
                var auth2       = new NtlmPasswordAuthentication(ConfigurationBase.Instance.NetworkDomain, ConfigurationBase.Instance.NetworkUser, ConfigurationBase.Instance.NetworkPassword);
                var pathConfirm = new SmbFile(string.Format("{0}{1}", smbPath, filePath), auth2);

                //Create file.
                if (pathConfirm.Exists())
                {
                    quantidadeImagens = pathConfirm.ListFiles().Length;
                }
                else
                {
                    quantidadeImagens = 0;
                }
            }
            catch (Exception ex)
            {
                Program.Main.ShowMessage(ex.Message, Android.Widget.ToastLength.Long, Base.Enums.ToastMessageType.Error);
            }

            return(quantidadeImagens);
        }
Exemplo n.º 4
0
        private void ProcessRRNumber(RegistroDeReforma registroDeReforma)
        {
            RrResponse response = new RrResponse();
            var        task     = new GenericTask()
                                  .WithPreExecuteProcess((b) =>
            {
                Program.Main.ShowLoading();
            }).WithBackGroundProcess((b, t) =>
            {
                try
                {
                    var request        = new RrRequest();
                    request.Item       = Convert.ToInt32(registroDeReforma.NumeroItem);
                    request.Registro   = Convert.ToInt32(registroDeReforma.NumeroRR);
                    request.PasswordBD = ConfigurationBase.Instance.PasswordBD;
                    request.Url        = ConfigurationBase.Instance.ApiUrl;
                    request.UserId     = ConfigurationBase.Instance.UserIdBD;
                    response           = RrApi.Instance.GetRr(request);
                }
                catch (Exception ex)
                {
                    Program.Main.ShowMessage("Ocorreu um erro ao buscar a RR", ToastLength.Long, ToastMessageType.Error);
                }
            }).WithPosExecuteProcess((b, t) =>
            {
                if (response.Success)
                {
                    txtClientName.Text             = response.NomeCliente;
                    txtData.Text                   = response.DataAbertura;
                    txtEquipamentoDescription.Text = response.DescricaoEquipamento;
                    txtNroNota.Text                = response.NumeroNF.ToString();

                    LoadDataRegistroDeReforma(response);
                }

                Program.Main.HideLoading();
            }).Execute();
        }
Exemplo n.º 5
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.CadastroRR_Images_View);

            Loading = FindViewById <ViewGroup>(Resource.Id.loadingImage);
            Loading.BringToFront();

            registroDeReforma = JsonConvert.DeserializeObject <RegistroDeReforma>(Intent.GetStringExtra("RegistroDeReforma"));
            quantidadeImagens = PegaQuantidadeImagensServidor(registroDeReforma);

            if (quantidadeImagens > 0)
            {
                if (bitmap == null)
                {
                    bitmap = new List <Bitmap>();
                }

                bitmap.Add(PegarImagensServidor(registroDeReforma, 0));

                imageView = FindViewById <EnchantedViewPagerExtended>(Resource.Id.cadastroRRImagesView);

                adapter           = new ImagesViewAdapter(this, bitmap);
                imageView.Adapter = adapter;
            }
            else
            {
                Program.Main.ShowMessage("O diretório não possui imagens");
            }

            nextImage    = FindViewById <FloatingActionButton>(Resource.Id.nextImage);
            previusImage = FindViewById <FloatingActionButton>(Resource.Id.previousImage);

            nextImage.Click     += NextImage_Click;
            previusImage.Click  += PreviusImage_Click;
            previusImage.Enabled = false;
        }
Exemplo n.º 6
0
        public override void OnDone()
        {
            if (Data != null)
            {
                RegistroDeReforma registroDeReforma = (RegistroDeReforma)Data;

                if (string.IsNullOrEmpty(registroDeReforma.NumeroRR))
                {
                    Program.Main.ShowMessage("Favor inserir um Registro de Reforma (RR)");
                    return;
                }

                if ((registroDeReforma.ListaDeImagens == null || !registroDeReforma.ListaDeImagens.Any()) && string.IsNullOrWhiteSpace(registroDeReforma.Observacao))
                {
                    Program.Main.ShowMessage("É necessário inserir ao menos uma imagem ou uma observação para continuar");
                    return;
                }

                var task = new GenericTask()
                           .WithPreExecuteProcess((b) =>
                {
                    Program.Main.ShowLoading();
                }).WithBackGroundProcess((b, t) =>
                {
                    try
                    {
                        if (registroDeReforma.ListaDeImagens != null && registroDeReforma.ListaDeImagens.Any())
                        {
                            InserirImagensServidor(registroDeReforma);
                        }

                        if (!string.IsNullOrWhiteSpace(registroDeReforma.Observacao))
                        {
                            var request        = new ObservationRequest();
                            request.Item       = Convert.ToInt32(registroDeReforma.NumeroItem);
                            request.Registro   = Convert.ToInt32(registroDeReforma.NumeroRR);
                            request.PasswordBD = ConfigurationBase.Instance.PasswordBD;
                            request.Url        = ConfigurationBase.Instance.ApiUrl;
                            request.UserId     = ConfigurationBase.Instance.UserIdBD;

                            var observationResponse = RrApi.Instance.GetIdObservacao(request);

                            if (observationResponse.Success)
                            {
                                var idObservation = observationResponse.IdObservation + 1;

                                request.Texto        = registroDeReforma.Observacao;
                                request.Usuario      = ConfigurationBase.Instance.UserAPP;
                                request.IdObservacao = idObservation;

                                var responseObservacao = RrApi.Instance.InsertObservacao(request);
                                if (!responseObservacao)
                                {
                                    throw new Exception("Ocorreu um erro ao inserir informações de observação");
                                }
                            }
                            else
                            {
                                throw new Exception("Ocorreu um erro ao buscar informações da obseração");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Program.Main.ShowMessage(ex.Message, ToastLength.Long, Base.Enums.ToastMessageType.Error);
                    }
                }).WithPosExecuteProcess((b, t) =>
                {
                    var wizard  = Program.Main.Navigate <CadastroRRFragment>();
                    wizard.Data = new RegistroDeReforma();
                    Program.Main.ShowMessage("Cadastros de imagens realizado com sucesso", ToastLength.Long, Base.Enums.ToastMessageType.Success);
                    Program.Main.HideLoading();
                }).Execute();
            }
        }