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); }
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); } } }
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); }
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(); }
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; }
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(); } }