private async void btnGaleria_Clicked(object sender, EventArgs e)
        {
            try
            {
                await CrossMedia.Current.Initialize();

                var file = await Plugin.Media.CrossMedia.Current.PickPhotoAsync(new Plugin.Media.Abstractions.PickMediaOptions
                {
                    PhotoSize = Plugin.Media.Abstractions.PhotoSize.Large
                });

                if (file == null)
                {
                    return;
                }
                ImagenCE oImagen = getImagenFromPage();
                oImagen.idTipoImagen = _ID_TIPO_IMAGEN_PARTE;
                string nombreImagen = "Parte_" + App.oIntervencion.idIntervencion.ToString() + "_" + DateTime.Now.ToString().Replace("/", "").Replace(":", "").Replace(" ", "") + ".png";

                await new IntervencionCRN_APP().enviarImagenIntervencionFirma(file.GetStream(), nombreImagen, nombreImagen, oImagen);
                this.getImagenesCargadasAsync();
                await DisplayAlert("Imagen subida", "Se ha enviado el parte correctamente.", "Volver");
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", ex.Message, "Volver");
            }
        }
예제 #2
0
        public List <ImagenCE> getImagenesByIntervencion(int idIntervencion)
        {
            try
            {
                List <ImagenCE> lstImagenes            = new List <ImagenCE>();
                DataTable       dtImagenesIntervencion = new ReplanteoCAD().getImagenesByIntervencion(idIntervencion);
                if (dtImagenesIntervencion.Rows.Count > 0)
                {
                    foreach (DataRow fila in dtImagenesIntervencion.Rows)
                    {
                        ImagenCE oImagenCE = new ImagenCE();
                        oImagenCE.idReplanteoImagen = int.Parse(fila["idReplanteoImagen"].ToString());
                        oImagenCE.idTipoImagen      = int.Parse(fila["idTipoImagen"].ToString());
                        oImagenCE.descripcion       = fila["descripcion"].ToString();
                        oImagenCE.idImagen          = int.Parse(fila["idImagen"].ToString());
                        oImagenCE.rutaImagen        = fila["rutaImagen"].ToString();
                        oImagenCE.comentario        = fila["comentario"].ToString();

                        lstImagenes.Add(oImagenCE);
                    }
                }
                return(lstImagenes);
            }
            catch
            {
                throw;
            }
        }
        private async void btnConfirmar_Clicked(object sender, EventArgs e)
        {
            try
            {
                if (signatureView.Strokes.Count() > 0)
                {
                    Stream bitMap = await signatureView.GetImageStreamAsync(SignaturePad.Forms.SignatureImageFormat.Png);

                    string   nombreImagen = "Firma_" + App.oIntervencion.idIntervencion.ToString() + "_" + DateTime.Now.ToString().Replace("/", "").Replace(":", "").Replace(" ", "") + ".png";
                    ImagenCE oImagen      = getImagenFromPage();
                    oImagen.idTipoImagen = _ID_TIPO_IMAGEN_FIRMA;

                    await new IntervencionCRN_APP().enviarImagenIntervencionFirma(bitMap, nombreImagen, nombreImagen, oImagen);
                    observacionesEditor.Text = "";
                    this.getImagenesCargadasAsync();
                    await DisplayAlert("Imagen subida", "Se ha enviado la firma correctamente.", "Volver");
                }
                else
                {
                    await DisplayAlert("Firma obligatoria", "Es obligatorio introducir una firma", "Volver");
                }
            } catch (Exception ex)
            {
                await DisplayAlert("Error", ex.Message, "Volver");
            }
        }
        private ImagenCE getImagenFromPage()
        {
            ImagenCE oImagen = new ImagenCE();

            oImagen.idIntervencion  = App.oIntervencion.idIntervencion;
            oImagen.idUsuario       = App.oUsuarioLogged.idUsuario;
            oImagen.tecnico         = App.oTecnico.tecnico;
            oImagen.comentario      = observacionesEditor.Text == null ? "" : observacionesEditor.Text;
            oImagen.telefonoTecnico = App.oTecnico.telefonoTecnico;
            return(oImagen);
        }
예제 #5
0
 public void insertarReplanteoImagen(ImagenCE oImagen)
 {
     try
     {
         new ReplanteoCAD().insertarReplanteoImagen(oImagen);
     }
     catch
     {
         throw;
     }
 }
 public void insertarImagenIntervencionNoTerminada(ImagenCE oImagen, int idIntervencionNoterminada)
 {
     try
     {
         new IntervencionCAD().insertarImagenIntervencionNoTerminada(oImagen, idIntervencionNoterminada);
     }
     catch
     {
         throw;
     }
 }
 public void insertarIntervencionFirmaImagen(ImagenCE oImagen)
 {
     try
     {
         new IntervencionCAD().insertarIntervencionFirmaImagen(oImagen);
     }
     catch
     {
         throw;
     }
 }
        private async void btnConfirmar_Clicked(object sender, EventArgs e)
        {
            try
            {
                IntervencionCRN_APP oIntervencionCRN = new IntervencionCRN_APP();
                if (pckMotivos.SelectedItem == null)
                {
                    await DisplayAlert("Error", "Es obligatorio introducir un motivo", "Volver");
                }
                else
                {
                    IntervencionNoTerminadaCE oNoterminada = new IntervencionNoTerminadaCE();
                    oNoterminada.idIntervencion  = App.oIntervencion.idIntervencion;
                    oNoterminada.idUsuario       = App.oUsuarioLogged.idUsuario;
                    oNoterminada.tecnico         = App.oTecnico.tecnico;
                    oNoterminada.telefonoTecnico = App.oTecnico.telefonoTecnico;
                    oNoterminada.idMotivo        = ((IntervencionNoTerminadaMotivosCE)pckMotivos.SelectedItem).idMotivo;
                    oNoterminada.observaciones   = txtComentario.Text;

                    oNoterminada = await oIntervencionCRN.insertarIntervencionNoTerminada(oNoterminada);

                    if (oNoterminada != null && oNoterminada.idIntervencionNoTerminada != 0)
                    {
                        foreach (MediaFile imagen in lstImagenes)
                        {
                            string   nombreImagen = System.IO.Path.GetFileName(imagen.Path);
                            ImagenCE oImagen      = new ImagenCE();
                            oImagen.idIntervencion  = App.oIntervencion.idIntervencion;
                            oImagen.idUsuario       = App.oUsuarioLogged.idUsuario;
                            oImagen.tecnico         = App.oTecnico.tecnico;
                            oImagen.comentario      = txtComentario.Text == null ? "" : txtComentario.Text;
                            oImagen.telefonoTecnico = App.oTecnico.telefonoTecnico;

                            await oIntervencionCRN.insertarImagenNoTerminada(imagen.GetStream(), nombreImagen, imagen.Path, oImagen, oNoterminada.idIntervencionNoTerminada);
                        }
                        lstImagenes.Clear();
                        actualizarConteoImagenes();
                    }
                }
            }
            catch (Exception ex)
            {
                actualizarConteoImagenes();
                await DisplayAlert("Error", ex.Message, "Volver");
            }
        }
 public void insertarImagenIntervencionNoTerminada(ImagenCE oImagen, int idIntervencionNoterminada)
 {
     try
     {
         DbCommand cmd = base.CrearComandoSP();
         cmd.CommandText = "IntervencionNoTerminada_ImagenesInsertar";
         cmd.Parameters.Add(new SqlParameter("@idIntervencion", oImagen.idIntervencion));
         cmd.Parameters.Add(new SqlParameter("@idIntervencionNoTerminada", idIntervencionNoterminada));
         cmd.Parameters.Add(new SqlParameter("@idImagen", oImagen.idImagen));
         cmd.Parameters.Add(new SqlParameter("@idUsuario", oImagen.idUsuario));
         cmd.Parameters.Add(new SqlParameter("@tecnico", oImagen.tecnico));
         cmd.Parameters.Add(new SqlParameter("@telefonoTecnico", oImagen.telefonoTecnico));
         cmd.CommandTimeout = 120;
         base.EjecutarComando(cmd);
     }
     catch
     {
         throw;
     }
 }
 public void insertarIntervencionFirmaImagen(ImagenCE oImagen)
 {
     try
     {
         DbCommand cmd = base.CrearComandoSP();
         cmd.CommandText = "IntervencionFirma_ImagenesInsertar";
         cmd.Parameters.Add(new SqlParameter("@idIntervencion", oImagen.idIntervencion));
         cmd.Parameters.Add(new SqlParameter("@idTipoImagen", oImagen.idTipoImagen));
         cmd.Parameters.Add(new SqlParameter("@idImagen", oImagen.idImagen));
         cmd.Parameters.Add(new SqlParameter("@comentario", oImagen.comentario));
         cmd.Parameters.Add(new SqlParameter("@idUsuario", oImagen.idUsuario));
         cmd.Parameters.Add(new SqlParameter("@tecnico", oImagen.tecnico));
         cmd.Parameters.Add(new SqlParameter("@telefonoTecnico", oImagen.telefonoTecnico));
         cmd.CommandTimeout = 120;
         base.EjecutarComando(cmd);
     }
     catch
     {
         throw;
     }
 }
        private async void btnHacerFoto_Clicked(object sender, EventArgs e)
        {
            try
            {
                await CrossMedia.Current.Initialize();

                if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
                {
                    await DisplayAlert("No Camera", ":( No camera available.", "OK");

                    return;
                }

                var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
                {
                    Directory     = "TCGroup",
                    Name          = App.oIntervencion.idIntervencion.ToString() + "_" + DateTime.Now + "_" + PhotoSize.Large + ".jpg",
                    SaveToAlbum   = true,
                    PhotoSize     = PhotoSize.Large,
                    DefaultCamera = CameraDevice.Front
                });

                if (file == null)
                {
                    return;
                }

                ImagenCE oImagen = getImagenFromPage();
                oImagen.idTipoImagen = _ID_TIPO_IMAGEN_PARTE;
                string nombreImagen = "Parte_" + App.oIntervencion.idIntervencion.ToString() + "_" + DateTime.Now.ToString().Replace("/", "").Replace(":", "").Replace(" ", "") + ".png";

                await new IntervencionCRN_APP().enviarImagenIntervencionFirma(file.GetStream(), nombreImagen, nombreImagen, oImagen);
                this.getImagenesCargadasAsync();
                await DisplayAlert("Imagen subida", "Se ha enviado el parte correctamente.", "Volver");
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", ex.Message, "Volver");
            }
        }
        private async void btnSubirImagen_Clicked(object sender, EventArgs e)
        {
            try
            {
                foreach (KeyValuePair <MediaFile, int> imagen in dictImagenes)
                {
                    string   nombreImagen = System.IO.Path.GetFileName(imagen.Key.Path);
                    ImagenCE oImagen      = new ImagenCE();
                    oImagen.idIntervencion  = App.oIntervencion.idIntervencion;
                    oImagen.idUsuario       = App.oUsuarioLogged.idUsuario;
                    oImagen.idTipoImagen    = imagen.Value;
                    oImagen.tecnico         = App.oTecnico.tecnico;
                    oImagen.comentario      = txtComentario.Text == null ? "" : txtComentario.Text;
                    oImagen.telefonoTecnico = App.oTecnico.telefonoTecnico;

                    spinnerEnviarImagen.IsVisible = true;
                    spinnerEnviarImagen.IsRunning = true;
                    string resultado = await new ReplanteoCRN_APP().enviarImagenReplanteo(imagen.Key.GetStream(), nombreImagen, imagen.Key.Path, oImagen);
                    spinnerEnviarImagen.IsVisible = false;
                    spinnerEnviarImagen.IsRunning = false;
                    if (resultado != "OK")
                    {
                        await DisplayAlert("Aviso", "Se ha producido un error al subir la imagen " + nombreImagen, "Volver");
                    }
                    else
                    {
                        await DisplayAlert("Aviso", "Imágen cargada correctamente.", "Volver");
                    }
                    dictImagenes.Clear();
                    txtComentario.Text = "";
                }
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", ex.Message, "Volver");
            }
        }
        public async Task <string> insertarImagenNoTerminada(Stream imagenStream, string nombreImagen, string rutaImagen, ImagenCE oImagen, int idIntervencionNoTerminada)
        {
            string resultado = "";

            try
            {
                string metodo = "intervencion/insertarImagen";

                Dictionary <string, string> parametros = new Dictionary <string, string>();
                parametros.Add("idIntervencion", oImagen.idIntervencion.ToString());
                parametros.Add("idIntervencionNoTerminada", idIntervencionNoTerminada.ToString());
                parametros.Add("idTipoImagen", "0");
                parametros.Add("tecnico", oImagen.tecnico);
                parametros.Add("telefonoTecnico", oImagen.telefonoTecnico);

                parametros.Add("tipoIntervencionImagen", "NoTerminada");

                if (oImagen.comentario != "")
                {
                    parametros.Add("comentario", oImagen.comentario);
                }
                parametros.Add("idUsuario", oImagen.idUsuario.ToString());

                HttpResponseMessage response = await SingleHttpCliente.postImage(imagenStream, nombreImagen, rutaImagen, metodo, parametros);

                return(resultado);
            }
            catch
            {
                throw;
            }
        }
        public async Task <string> enviarImagenIntervencionFirma(Stream imagenStream, string nombreImagen, string rutaImagen, ImagenCE oImagen)
        {
            try
            {
                string metodo = "intervencion/insertarImagen";

                Dictionary <string, string> parametros = new Dictionary <string, string>();
                parametros.Add("idIntervencion", oImagen.idIntervencion.ToString());
                parametros.Add("idTipoImagen", oImagen.idTipoImagen.ToString());
                parametros.Add("tecnico", oImagen.tecnico);
                parametros.Add("telefonoTecnico", oImagen.telefonoTecnico);

                parametros.Add("tipoIntervencionImagen", "IntervencionFinalizacion");

                if (oImagen.comentario != "")
                {
                    parametros.Add("comentario", oImagen.comentario);
                }
                parametros.Add("idUsuario", oImagen.idUsuario.ToString());

                HttpResponseMessage response = await SingleHttpCliente.postImage(imagenStream, nombreImagen, rutaImagen, metodo, parametros);

                return(await response.Content.ReadAsStringAsync());
            }
            catch
            {
                throw;
            }
        }
        public async Task <HttpResponseMessage> insertarImagen()
        {
            Dictionary <string, object> dict = new Dictionary <string, object>();

            try
            {
                var httpRequest = HttpContext.Current.Request;

                long idImagen = 0;

                foreach (string file in httpRequest.Files)
                {
                    var postedFile = httpRequest.Files[file];
                    if (postedFile != null && postedFile.ContentLength > 0)
                    {
                        int MaxContentLength = 1024 * 1024 * 3; //Size = 3 MB

                        IList <string> AllowedFileExtensions = new List <string> {
                            ".jpg", ".gif", ".png"
                        };
                        var ext       = postedFile.FileName.Substring(postedFile.FileName.LastIndexOf('.'));
                        var extension = ext.ToLower();
                        if (!AllowedFileExtensions.Contains(extension))
                        {
                            var message = string.Format("Please Upload image of type .jpg,.gif,.png.");

                            dict.Add("error", message);
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, dict));
                        }
                        else if (postedFile.ContentLength > MaxContentLength)
                        {
                            var message = string.Format("Please Upload a file upto 1 mb.");

                            dict.Add("error", message);
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, dict));
                        }
                        else
                        {
                            string tipoIntervencionImagen = httpRequest.Form["tipoIntervencionImagen"].ToString();
                            string directorioImagenes     = System.Configuration.ConfigurationManager.AppSettings["directorioImagenes"];
                            string directorio             = System.Configuration.ConfigurationManager.AppSettings[tipoIntervencionImagen];

                            //var filePath = HttpContext.Current.Server.MapPath("~/" + directorio + "/" + postedFile.FileName);
                            var filePath = directorioImagenes + directorio + "/" + file;

                            //if (!Directory.Exists(HttpContext.Current.Server.MapPath("~/" + directorio)))
                            //{
                            //   Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/" + directorio));
                            //}

                            if (!Directory.Exists(directorioImagenes + directorio))
                            {
                                Directory.CreateDirectory(directorioImagenes + directorio);
                            }

                            //Si existe el fichero le cambiamos el nombre
                            if (System.IO.File.Exists(filePath))
                            {
                                filePath = directorioImagenes + directorio + "/" + "1_" + file;
                            }

                            postedFile.SaveAs(filePath);
                            idImagen = new ImagenesCRN_API().insertarImagen(filePath);

                            if (idImagen > 0)
                            {
                                ImagenCE oImagen        = new ImagenCE();
                                int      idIntervencion = int.TryParse(httpRequest.Form["idIntervencion"].ToString(), out idIntervencion) ? idIntervencion : 0;
                                int      idUsuario      = int.TryParse(httpRequest.Form["idUsuario"].ToString(), out idUsuario) ? idUsuario : 0;
                                int      idTipoImagen   = int.TryParse(httpRequest.Form["idTipoImagen"].ToString(), out idTipoImagen) ? idTipoImagen : 0;
                                //int idIntervencion = int.TryParse(httpRequest.Headers["idIntervencion"].ToString(), out idIntervencion) ? idIntervencion : 0;
                                //int idUsuario = int.TryParse(httpRequest.Headers["idUsuario"].ToString(), out idUsuario) ? idUsuario : 0;
                                //int idTipoImagen = int.TryParse(httpRequest.Headers["idTipoImagen"].ToString(), out idTipoImagen) ? idTipoImagen : 0;
                                oImagen.idIntervencion  = idIntervencion;
                                oImagen.idTipoImagen    = idTipoImagen;
                                oImagen.idImagen        = (int)idImagen;
                                oImagen.idUsuario       = idUsuario;
                                oImagen.tecnico         = httpRequest.Form["tecnico"].ToString();
                                oImagen.telefonoTecnico = httpRequest.Form["telefonoTecnico"].ToString();
                                //oImagen.tecnico = httpRequest.Headers["tecnico"].ToString();
                                //oImagen.telefonoTecnico = httpRequest.Headers["telefonoTecnico"].ToString();

                                if (httpRequest.Form.AllKeys.Contains("comentario"))
                                {
                                    oImagen.comentario = httpRequest.Form["comentario"].ToString();
                                }



                                switch (tipoIntervencionImagen)
                                {
                                case "Replanteo":
                                    new ReplanteoCRN_API().insertarReplanteoImagen(oImagen);
                                    break;

                                case "IntervencionFinalizacion":
                                    new IntervencionCRN_API().insertarIntervencionFirmaImagen(oImagen);
                                    break;

                                case "NoTerminada":
                                    int idIntervencionNoTerminada = int.TryParse(httpRequest.Form["idIntervencionNoTerminada"].ToString(), out idIntervencionNoTerminada) ? idIntervencionNoTerminada : 0;
                                    new IntervencionCRN_API().insertarImagenIntervencionNoTerminada(oImagen, idIntervencion);
                                    break;
                                }
                            }
                        }
                    }

                    var message1 = string.Format("Imagen subida correctamente. IdImagen: " + idImagen.ToString());
                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, message1);
                    //response.Headers.Add("idImagen", idImagen.ToString());

                    return(response);
                }
                var res = string.Format("Please Upload a image.");
                dict.Add("error", res);
                return(Request.CreateResponse(HttpStatusCode.NotFound, dict));
            }
            catch (Exception ex)
            {
                var res = string.Format(ex.Message);
                dict.Add("error", res);
                return(Request.CreateResponse(HttpStatusCode.NotFound, dict));
            }
        }
        public async Task <string> enviarImagenReplanteo(Stream imagenStream, string nombreImagen, string rutaImagen, ImagenCE oImagen)
        {
            string resultado = "";

            try
            {
                string metodo = "intervencion/insertarImagen";

                Dictionary <string, string> parametros = new Dictionary <string, string>();
                parametros.Add("idIntervencion", oImagen.idIntervencion.ToString());
                parametros.Add("idTipoImagen", oImagen.idTipoImagen.ToString());
                parametros.Add("tecnico", oImagen.tecnico);
                parametros.Add("telefonoTecnico", oImagen.telefonoTecnico);

                parametros.Add("tipoIntervencionImagen", "Replanteo");

                if (oImagen.comentario != "")
                {
                    parametros.Add("comentario", oImagen.comentario);
                }
                parametros.Add("idUsuario", oImagen.idUsuario.ToString());

                HttpResponseMessage response = await SingleHttpCliente.postImage(imagenStream, nombreImagen, rutaImagen, metodo, parametros);

                if (response.StatusCode != System.Net.HttpStatusCode.Created)
                {
                    return(response.ReasonPhrase);
                }
                else
                {
                    resultado = "OK";
                }
                return(resultado);
            }
            catch
            {
                throw;
            }
        }