public void Delete(PerfilImpressora perfilImpressora) { using (TransactionScope transactionScope = _uow.CreateTransactionScope()) { _uow.PerfilImpressoraItemRepository.Delete(perfilImpressora.PerfilImpressoraItens.ToList()); _uow.PerfilImpressoraRepository.Delete(perfilImpressora); _uow.SaveChanges(); transactionScope.Complete(); } }
public ActionResult Cadastrar(PerfilImpressoraCreateViewModel model) { Func <string, ViewResult> errorView = (error) => { CarregarDadosImpressaoItem(); if (error != null) { Notify.Error(Resources.CommonStrings.RequestUnexpectedErrorMessage); } return(View(model)); }; if (!ModelState.IsValid) { return(errorView(null)); } if (model.TiposImpressao.NullOrEmpty()) { ModelState.AddModelError(nameof(model.TiposImpressao), "Selecione pelo menos um tipo de impressão para o perfil."); return(errorView(null)); } var teste = model.TiposImpressao.Where(w => w.Impressoras.Any(a => a.Selecionado)).Any(); if (!model.TiposImpressao.Where(w => w.Impressoras.Any(a => a.Selecionado)).Any()) { ModelState.AddModelError(nameof(model.TiposImpressao), "Escolha pelo menos uma impressora para o perfil"); return(errorView(null)); } var teste2 = model.TiposImpressao.Where(w => w.Impressoras.Any(a => a.Selecionado)).Any(); if (model.TiposImpressao.Where(w => !w.Impressoras.Any(a => a.Selecionado)).Any()) { ModelState.AddModelError(nameof(model.TiposImpressao), "Todos os tipos de impressão selecionados devem ter pelos menos um empresa escolhida."); return(errorView(null)); } PerfilImpressora perfilImpressora = Mapper.Map <PerfilImpressora>(model); perfilImpressora.IdEmpresa = IdEmpresa; _perfilImpressoraService.Add(perfilImpressora); Notify.Success(Resources.CommonStrings.RegisterCreatedSuccessMessage); return(RedirectToAction("Index")); }
public ActionResult Detalhes(int id) { CarregarDadosImpressaoItem(); PerfilImpressora perfilImpressora = _uow.PerfilImpressoraRepository.ObterPorIdImpressorasAtivas(id); if (perfilImpressora == null) { throw new HttpException(404, "Not found"); } var model = Mapper.Map <PerfilImpressoraCreateViewModel>(perfilImpressora); foreach (var modelTipos in model.TiposImpressao) { modelTipos.Impressoras = modelTipos.Impressoras.Where(x => x.IdImpressora != 0).OrderBy(o => o.Nome).ToList(); } return(View(model)); }
public void Edit(PerfilImpressora perfilImpressora) { var perfilItensOld = _uow.PerfilImpressoraItemRepository.ObterPorIdPerfilImpressora(perfilImpressora.IdPerfilImpressora); List <PerfilImpressoraItem> perfilItensAdd = perfilImpressora.PerfilImpressoraItens.Where(x => !perfilItensOld.Any(y => y.IdImpressora == x.IdImpressora && y.IdImpressaoItem == x.IdImpressaoItem)).ToList(); List <PerfilImpressoraItem> perfilItensRem = perfilItensOld.Where(x => !perfilImpressora.PerfilImpressoraItens.Any(y => y.IdImpressora == x.IdImpressora && y.IdImpressaoItem == x.IdImpressaoItem)).ToList(); using (TransactionScope transactionScope = _uow.CreateTransactionScope()) { _uow.PerfilImpressoraRepository.Update(perfilImpressora); _uow.PerfilImpressoraItemRepository.AddRange(perfilItensAdd); _uow.PerfilImpressoraItemRepository.Delete(perfilItensRem); _uow.SaveChanges(); transactionScope.Complete(); } }
public ActionResult Editar(int id) { CarregarDadosImpressaoItem(); PerfilImpressora perfilImpressora = _uow.PerfilImpressoraRepository.ObterPorIdImpressorasAtivas(id); if (perfilImpressora == null) { throw new HttpException(404, "Not found"); } var model = Mapper.Map <PerfilImpressoraCreateViewModel>(perfilImpressora); List <Printer> impressoras = _uow.BOPrinterRepository.ObterPorEmpresa(IdEmpresa); foreach (var modelTipos in model.TiposImpressao) { foreach (var impressora in impressoras) { if (!modelTipos.Impressoras.Any(a => a.IdImpressora == impressora.Id)) { var impressoraView = new ImpressoraViewModel() { IdImpressora = impressora.Id, Nome = impressora.Name, Selecionado = false }; modelTipos.Impressoras.Add(impressoraView); } } modelTipos.Impressoras = modelTipos.Impressoras.Where(x => x.IdImpressora != 0).OrderBy(o => o.Nome).ToList(); } return(View(model)); }
public void Add(PerfilImpressora perfilImpressora) { _uow.PerfilImpressoraRepository.Add(perfilImpressora); _uow.SaveChanges(); }