Esempio n. 1
0
        public async Task <ActionResult> Edit([Bind(Include = "id,UserID,NomeExibicao,FotoPerfil")] PerfilViewModel perfil, HttpPostedFileBase imgPerfil)
        {
            if (ModelState.IsValid)
            {
                if (imgPerfil != null)
                {
                    try {
                        // Envia a foto para o blob
                        var imgUri = await servicoBlob.UploadFileAsync(imgPerfil, "fotoperfil");

                        perfil.FotoPerfil = imgUri.ToString();
                    }
                    catch (Exception) {
                        //Se houver excessão, atribui a foto que foi guardada na sessão
                        perfil.FotoPerfil = Session["FotoPerfil"].ToString();
                    }
                }
                else
                {   // Se for nula, atribui a foto que foi guardada na sessão
                    perfil.FotoPerfil = Session["FotoPerfil"].ToString();
                }
                var perfilModel = PerfilViewModel.ConvertToModel(perfil);

                if (Session["UserId"] == null)
                {
                    Session["UserId"] = User.Identity.GetUserId();
                }
                perfilModel.UserID = Session["UserId"].ToString();
                servico.EditaPerfil(perfilModel);
                return(RedirectToAction("Index", "Gerenciador"));
            }
            return(View(perfil));
        }