public async Task <ActionResult> AdicionarTipoImpressao(int id) { List <Printer> impressoras = _uow.BOPrinterRepository.ObterPorEmpresa(IdEmpresa); List <ImpressaoItem> ListImpressaoItem = _uow.ImpressaoItemRepository.Todos(); var tiposImpressao = new TipoImpressaoViewModel { IdImpressaoItem = id, Descricao = ListImpressaoItem.First(f => (int)f.IdImpressaoItem == id).Descricao }; foreach (var impressora in impressoras) { var impressoraViewModel = new ImpressoraViewModel { Selecionado = false, Nome = impressora.Name, IdImpressora = impressora.Id }; tiposImpressao.Impressoras.Add(impressoraViewModel); } var list = new List <TipoImpressaoViewModel> { tiposImpressao }; return(PartialView("_ListaImpressoras", list)); }
public List <TipoImpressaoViewModel> MappingTipoImpressaoViewModel(ICollection <PerfilImpressoraItem> perfilImpressoraItens) { List <TipoImpressaoViewModel> tiposImpressao = new List <TipoImpressaoViewModel>(); var agrupado = perfilImpressoraItens.GroupBy(g => g.IdImpressaoItem).ToDictionary(d => d.Key, d => d.ToList()); foreach (var item in agrupado) { List <ImpressoraViewModel> impressorasView = new List <ImpressoraViewModel>(); foreach (var impressora in item.Value) { var impressoraView = new ImpressoraViewModel() { IdImpressora = impressora.IdImpressora, Nome = impressora.Impressora.Name, Selecionado = true }; impressorasView.Add(impressoraView); } var TipoImpressaoViewModel = new TipoImpressaoViewModel() { Descricao = item.Value.First().ImpressaoItem.Descricao, IdImpressaoItem = item.Key.GetHashCode(), Impressoras = impressorasView }; tiposImpressao.Add(TipoImpressaoViewModel); } return(tiposImpressao); }
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)); }