//public IActionResult IndexSelect()
        //{

        //    var albuns = _albumService.BuscarTodosDoCliente(_session.Get<Cliente>("cliente"));
        //    ViewBag.FotosPreSelecionadas = _session.Get<List<Foto>>("FotosPreSelecionadas");
        //    ViewBag.FotosSelecionadas = _session.Get<List<Foto>>("FotosSelecionadas");
        //    if (ViewBag.FotosPreSelecionadas == null)
        //    {
        //        List<Foto> fotos = new List<Foto>();
        //        foreach (var album in albuns)
        //        {
        //            fotos.AddRange(_fotoService.ReadAllPreselect(album));
        //        }
        //        ViewBag.FotosPreSelecionadas = fotos;
        //    }
        //    if (ViewBag.FotosSelecionadas == null)
        //    {
        //        List<Foto> fotos = new List<Foto>();
        //        foreach (var album in albuns)
        //        {
        //            fotos.AddRange(_fotoService.ReadAllSelect(album));
        //        }
        //        ViewBag.FotosSelecionadas = fotos;
        //    }
        //    _session.Set<List<Foto>>("FotosPreSelecionadas", (List<Foto>)ViewBag.FotosPreSelecionadas);
        //    _session.Set<List<Foto>>("FotosSelecionadas", (List<Foto>)ViewBag.FotosSelecionadas);
        //    return View();
        //}
        //public IActionResult SelectFoto(Guid select)
        //{
        //    ViewBag.FotosPreSelecionadas = _session.Get<List<Foto>>("FotosPreSelecionadas");
        //    ViewBag.FotosSelecionadas = _session.Get<List<Foto>>("FotosSelecionadas");
        //    List<Foto> fotosPreSelecionadas = ViewBag.FotosPreSelecionadas;
        //    List<Foto> fotosSelecionadas = ViewBag.FotosSelecionadas;
        //    foreach (var foto in fotosPreSelecionadas)
        //    {
        //        if(foto.Id == select)
        //        {
        //            foto.Situacao = 1;
        //            fotosSelecionadas.Add(foto);
        //        }
        //    }
        //    foreach (var foto in fotosSelecionadas)
        //    {
        //        fotosPreSelecionadas.Remove(foto);
        //    }
        //    ViewBag.FotosPreSelecionadas= fotosPreSelecionadas;
        //    ViewBag.FotosSelecionadas= fotosSelecionadas;
        //    _session.Set<List<Foto>>("FotosPreSelecionadas", (List<Foto>)ViewBag.FotosPreSelecionadas);
        //    _session.Set<List<Foto>>("FotosSelecionadas", (List<Foto>)ViewBag.FotosSelecionadas);

        //    return View("IndexSelect");
        //}
        //public IActionResult UnSelectFoto(Guid select)
        //{
        //    ViewBag.FotosPreSelecionadas = _session.Get<List<Foto>>("FotosPreSelecionadas");
        //    ViewBag.FotosSelecionadas = _session.Get<List<Foto>>("FotosSelecionadas");
        //    List<Foto> fotosPreSelecionadas = ViewBag.FotosPreSelecionadas;
        //    List<Foto> fotosSelecionadas = ViewBag.FotosSelecionadas;
        //    foreach (var foto in fotosSelecionadas)
        //    {
        //        if (foto.Id == select)
        //        {
        //            foto.Situacao = 0;
        //            fotosPreSelecionadas.Add(foto);
        //        }
        //    }
        //    foreach (var foto in fotosPreSelecionadas)
        //    {
        //        fotosSelecionadas.Remove(foto);
        //    }
        //    ViewBag.FotosPreSelecionadas = fotosPreSelecionadas;
        //    ViewBag.FotosSelecionadas = fotosSelecionadas;
        //    _session.Set<List<Foto>>("FotosPreSelecionadas", (List<Foto>)ViewBag.FotosPreSelecionadas);
        //    _session.Set<List<Foto>>("FotosSelecionadas", (List<Foto>)ViewBag.FotosSelecionadas);
        //    return View("IndexSelect");
        //}

        //public IActionResult CadastrarSelecaoFotos()
        //{
        //    ViewBag.FotosPreSelecionadas = _session.Get<List<Foto>>("FotosPreSelecionadas");
        //    ViewBag.FotosSelecionadas = _session.Get<List<Foto>>("FotosSelecionadas");
        //    List<Foto> fotosPreSelecionadas = ViewBag.FotosPreSelecionadas;
        //    List<Foto> fotosSelecionadas = ViewBag.FotosSelecionadas;

        //    foreach (var foto in fotosSelecionadas)
        //    {
        //        _fotoService.AtualizarSituacao(foto);
        //    }
        //    foreach (var foto in fotosPreSelecionadas)
        //    {
        //        _fotoService.AtualizarSituacao(foto);
        //    }
        //    _session.Set<List<Foto>>("FotosPreSelecionadas", null);
        //    _session.Set<List<Foto>>("FotosSelecionadas", null);
        //    _session.SetString("Alertas", "Parabéns!!!| Você acabou de cadastrar a seleção de fotos do seu album.");

        //    return RedirectToAction("SistemaCliente","Default");
        //}



        public async Task <IActionResult> CadastrarNovo(Foto foto, IFormFile imagem)
        {
            byte[] miniImagemByte;
            byte[] imagemByte;
            using (var memoryStream = new MemoryStream())
            {
                await imagem.CopyToAsync(memoryStream);

                miniImagemByte = EditorDeImagem.DrawSize(memoryStream.ToArray(), 256);
                imagemByte     = EditorDeImagem.AddWaterMark(memoryStream.ToArray());
            }

            var token = _apiIdentificacao.Login(_session.GetString("username"), _session.GetString("password")).Result;

            foto.FotoUrl     = FileServerService.UploadFile("_Foto", new MemoryStream(imagemByte), BrunaPhotographSystem.InfraStructure.AzureStorage.Properties.Resources.AzureBlobContainer, imagem.ContentType, foto.Album.Id.ToString());
            foto.MiniFotoUrl = FileServerService.UploadFile("_MiniFoto", new MemoryStream(miniImagemByte), BrunaPhotographSystem.InfraStructure.AzureStorage.Properties.Resources.AzureBlobContainer, imagem.ContentType, foto.Album.Id.ToString());
            _apiCoreFoto.Criar(foto, token);
            _session.SetString("Alertas", "Muito bem!!!|Você acabou de cadastrar uma foto!");
            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> AdicionarFotoDropZone(Guid id)
        {
            byte[] miniImagemByte;
            foreach (var imagem in Request.Form.Files)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await imagem.CopyToAsync(memoryStream);

                    miniImagemByte = EditorDeImagem.DrawSize(memoryStream.ToArray(), 256);
                }

                Foto foto = new Foto();
                foto.Id        = Guid.NewGuid();
                foto.Album.Id  = id;
                foto.Descricao = String.Empty;
                foto.Nome      = String.Empty;

                foto.FotoUrl     = FileServerService.UploadFile("_Foto", imagem.OpenReadStream(), BrunaPhotographSystem.InfraStructure.AzureStorage.Properties.Resources.AzureBlobContainer, imagem.ContentType, foto.Album.Id.ToString());
                foto.MiniFotoUrl = FileServerService.UploadFile("_MiniFoto", new MemoryStream(miniImagemByte), BrunaPhotographSystem.InfraStructure.AzureStorage.Properties.Resources.AzureBlobContainer, imagem.ContentType, foto.Album.Id.ToString());
                _fotoService.CriarComId(foto);
            }
            return(Ok());
        }