示例#1
0
        public void ActualizarContendor()
        {
            using (var proxyTorneo = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxyTorneo.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");

                using (var proxy = new WSContendor.ContendorServiceClient())
                {
                    var contendor = proxy.ListarContendores(torneo.ID).FirstOrDefault(s => s.Texto.Equals("GIAN"));
                    contendor.Texto = "JHONNY";
                    proxy.ActualizarContendor(contendor);

                    contendor = proxy.ObtenerContendor(contendor.ID);

                    Assert.AreEqual("JHONNY", contendor.Texto);
                }
            }
        }
        public IHttpActionResult PutContendor(int id)
        {
            try
            {
                if (!Request.Content.IsMimeMultipartContent())
                {
                    throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
                }

                var archivo = HttpContext.Current.Request.Files[0];
                var contendor = JsonConvert.DeserializeObject<Contendor>(HttpContext.Current.Request.Form["entity"]);
                var carpeta = Path.GetDirectoryName(Path.GetDirectoryName(HttpContext.Current.Server.MapPath("~/")));
                var path = Path.Combine(carpeta, "uploads", archivo.FileName);

                archivo.SaveAs(path);

                contendor.RutaImagen = path;

                using (var proxy = new WSContendor.ContendorServiceClient())
                {
                    proxy.ActualizarContendor(contendor);

                    return Ok(new
                    {
                        success = true
                    });
                }
            }
            catch (Exception ex)
            {
                return Ok(new
                {
                    success = false,
                    message = ex.Message
                });
            }
        }