public void Delete(ProdutoVa produtoVa) { //deleta arquivos anexos do VA db.ProdutoVaArquivos.DeleteAllOnSubmit(produtoVa.ProdutoVaArquivos); //deleta slides do VA foreach (var slide in produtoVa.ProdutoVaSlides) { db.ProdutoVaSlideArquivos.DeleteAllOnSubmit(slide.ProdutoVaSlideArquivos); db.ProdutoVaSlideEspecialidades.DeleteAllOnSubmit(slide.ProdutoVaSlideEspecialidades); } db.ProdutoVaSlides.DeleteAllOnSubmit(produtoVa.ProdutoVaSlides); db.ProdutoVaComentarios.DeleteAllOnSubmit(produtoVa.ProdutoVaComentarios); db.TerritorioProdutoVaDownloads.DeleteAllOnSubmit(produtoVa.TerritorioProdutoVaDownloads); //deleta o VA db.ProdutoVas.DeleteOnSubmit(produtoVa); }
public void AtualizaVersaoDoutoresRelacionados(ProdutoVa va) { var doutoresRelacionados = from d in db.Doutors where d.DoutorProdutos.Any(dp => dp.Produto.Id == va.Produto.Id) select d; foreach (var d in doutoresRelacionados) { if (d.Versao == null) { d.Versao = 1; } else { d.Versao++; } } }
public ProdutoVa GerarCopia() { ProdutoVaRepository vaRepository = new ProdutoVaRepository(); ProdutoVaSlideRepository slideRepository = new ProdutoVaSlideRepository(); ProdutoVaSlideArquivoRepository slideArquivoRepository = new ProdutoVaSlideArquivoRepository(); ProdutoVaArquivoRepository arquivoRepository = new ProdutoVaArquivoRepository(); ProdutoVa va = new ProdutoVa(); va.IdProduto = this.Produto.Id; va.IdUsuario = Sessao.Site.UsuarioInfo.Id; va.Status = (char)ProdutoVa.EnumStatus.Temporario; va.IdCategoria = this.IdCategoria; va.Nome = this.Nome; va.Descricao = this.Descricao; va.PalavrasChave = this.PalavrasChave; vaRepository.Add(va); vaRepository.Save(); va.CriaDiretoriosBase(); foreach (var slide in this.ProdutoVaSlides) { ProdutoVaSlide slideNovo = new ProdutoVaSlide(); slideNovo.IdVa = va.Id; slideNovo.Ordem = slide.Ordem; slideRepository.Add(slideNovo); slideRepository.Save(); foreach (var arquivo in slide.ProdutoVaSlideArquivos) { ProdutoVaSlideArquivo arquivoNovo = new ProdutoVaSlideArquivo(); arquivoNovo.IdSlide = slideNovo.Id; arquivoNovo.Nome = arquivo.Nome; arquivoNovo.Tipo = arquivo.Tipo; arquivoNovo.VideoAutoPlay = arquivo.VideoAutoPlay; slideArquivoRepository.Add(arquivoNovo); slideArquivoRepository.Save(); if (arquivo.Tipo == (char)ProdutoVaSlideArquivo.EnumTipoArquivo.Zip) { var caminhoOrigem = Util.Url.GetCaminhoFisico(this.GetDiretorio() + slide.Id); var caminhoDestino = Util.Url.GetCaminhoFisico(va.GetDiretorio() + slideNovo.Id); Util.Arquivo.CopyDirectory(caminhoOrigem, caminhoDestino, true); Util.Arquivo.CopyDirectoryIfExists(this.GetDiretorioCssFisico(), va.GetDiretorioCssFisico(), true); Util.Arquivo.CopyDirectoryIfExists(this.GetDiretorioSharedFisico(), va.GetDiretorioSharedFisico(), true); Util.Arquivo.CopyDirectoryIfExists(this.GetDiretorioImagesFisico(), va.GetDiretorioImagesFisico(), true); Util.Arquivo.CopyDirectoryIfExists(this.GetDiretorioJsFisico(), va.GetDiretorioJsFisico(), true); } else { var caminhoOrigem = arquivo.GetCaminhoArquivoFisico(); var caminhoDestino = arquivoNovo.GetCaminhoArquivoFisico(); File.Copy(caminhoOrigem, caminhoDestino); //se for imagem, copia a thumb também if (arquivo.Tipo == (char)ProdutoVaSlideArquivo.EnumTipoArquivo.Jpg || arquivo.Tipo == (char)ProdutoVaSlideArquivo.EnumTipoArquivo.Farmacia) { var caminhoOrigemThumb = arquivo.GetCaminhoArquivoFisico(ProdutoVaSlideArquivo.EnumTamanho.Thumb); var caminhoDestinoThumb = arquivoNovo.GetCaminhoArquivoFisico(ProdutoVaSlideArquivo.EnumTamanho.Thumb); File.Copy(caminhoOrigemThumb, caminhoDestinoThumb); } //se for zip(html), copia a thumb também if (arquivo.Tipo == (char)ProdutoVaSlideArquivo.EnumTipoArquivo.Zip) { var caminhoOrigemThumb = arquivo.GetCaminhoArquivoFisico(ProdutoVaSlideArquivo.EnumTamanho.Thumb, ProdutoVaSlideArquivo.EnumTipoArquivo.Jpg); var caminhoDestinoThumb = arquivoNovo.GetCaminhoArquivoFisico(ProdutoVaSlideArquivo.EnumTamanho.Thumb, ProdutoVaSlideArquivo.EnumTipoArquivo.Jpg); if (File.Exists(caminhoOrigemThumb)) { File.Copy(caminhoOrigemThumb, caminhoDestinoThumb); } } //se for video, copia a imagem do primeiro frame do video if (arquivo.Tipo == (char)ProdutoVaSlideArquivo.EnumTipoArquivo.Mp4) { var caminhoOrigemImagem = arquivo.GetCaminhoArquivoFisico(ProdutoVaSlideArquivo.EnumTamanho.Normal, ProdutoVaSlideArquivo.EnumTipoArquivo.Jpg); var caminhoDestinoImagem = arquivoNovo.GetCaminhoArquivoFisico(ProdutoVaSlideArquivo.EnumTamanho.Normal, ProdutoVaSlideArquivo.EnumTipoArquivo.Jpg); File.Copy(caminhoOrigemImagem, caminhoDestinoImagem); var caminhoOrigemThumb = arquivo.GetCaminhoArquivoFisico(ProdutoVaSlideArquivo.EnumTamanho.Thumb, ProdutoVaSlideArquivo.EnumTipoArquivo.Jpg); var caminhoDestinoThumb = arquivoNovo.GetCaminhoArquivoFisico(ProdutoVaSlideArquivo.EnumTamanho.Thumb, ProdutoVaSlideArquivo.EnumTipoArquivo.Jpg); File.Copy(caminhoOrigemThumb, caminhoDestinoThumb); } } } //adiciona as especialidades slideNovo.AddEspecialidades(slideRepository, slide.ProdutoVaSlideEspecialidades.Select(e => e.Especialidade.Id).ToArray()); slideRepository.Save(); } foreach (var arquivo in this.ProdutoVaArquivos) { var arquivoNovo = new ProdutoVaArquivo(); arquivoNovo.IdVa = va.Id; arquivoNovo.Nome = arquivo.Nome; arquivoNovo.Tipo = arquivo.Tipo; arquivoRepository.Add(arquivoNovo); arquivoRepository.Save(); var caminhoOrigem = arquivo.GetCaminhoFisico(); var caminhoDestino = arquivoNovo.GetCaminhoFisico(); File.Copy(caminhoOrigem, caminhoDestino); } return va; }
private void detach_ProdutoVas(ProdutoVa entity) { this.SendPropertyChanging(); entity.ProdutoVaCategoria = null; }
public void Add(ProdutoVa produtoVa) { produtoVa.DataInclusao = DateTime.Now; db.ProdutoVas.InsertOnSubmit(produtoVa); }
private void detach_ProdutoVas(ProdutoVa entity) { this.SendPropertyChanging(); entity.Usuario = null; }
private void attach_ProdutoVas(ProdutoVa entity) { this.SendPropertyChanging(); entity.Usuario = this; }
partial void DeleteProdutoVa(ProdutoVa instance);
partial void UpdateProdutoVa(ProdutoVa instance);
partial void InsertProdutoVa(ProdutoVa instance);