public NoViewModel Create(int id, int topologiaId, IMapper _mapper) { No no = _unitOfw.NoRepository.Get(y => y.Id == id, null, "TipoEntidade").FirstOrDefault(); //No noElemento = _unitOfw.NoRepository.Get(y => y.Id == id).FirstOrDefault(); no.IsFornecimento = Regex.IsMatch(no.TipoEntidade.Nome, "(Armazenamento|Fornecimento|Porto)", RegexOptions.IgnoreCase); no.IsConector = Regex.IsMatch(no.TipoEntidade.Nome, "(Divisor|Unificador)", RegexOptions.IgnoreCase); NoViewModel noViewModel = _mapper.Map <NoViewModel>(no); NoModel noModel = _mapper.Map <NoModel>(no); List <ProdutoNo> produtos = no.Id > 0 ? (no.IsConector ? new ConectorProdutoSelect().Select(no.Id, _unitOfw) : new NoProdutoSelect().Select(no.Id, _mapper)) : new List <ProdutoNo>(); noViewModel.Items = new SelectableProdutoViewModel() { Available = (no.IsConector ? produtos : GetProdutos(no, produtos)), Selected = produtos, }; noViewModel.Elementos = noModel; if (!noModel.IsConector) { IEnumerable <SelectListItem> localizacoes; IEnumerable <Localizacao> localizacaoSelect = new LocalizacaoSelect().Select(topologiaId); localizacoes = localizacaoSelect.Select(l => { return(new SelectListItem() { Selected = (l.Codigo == no.Localizacao), Text = l.Descricao, Value = l.Codigo, }); }); noViewModel.Localizacoes = localizacoes; } return(noViewModel); }
public IActionResult Update([FromBody] NoViewModel model) { try { NoModel elemento = JsonConvert.DeserializeObject <NoModel>(model.Elementos.ToString()); No no = _unitOfw.NoRepository.Get(y => y.Id == elemento.Id, null, "NoProduto").FirstOrDefault(); if (model.Items.Posted.Count() > 0) { //Remove a ligação com o No dos Produtos que não estão mais selecionados _unitOfw.pr_VCM_NoProdutosUpdate(elemento.Id, elemento.Codigo, elemento.Descricao, elemento.TipoEntidadeId, elemento.TopologiaId, elemento.Localizacao, elemento.Nota, model.Items.Posted); } else { _unitOfw.pr_VCM_NoUpdate(elemento.Id, elemento.Codigo, elemento.Descricao, elemento.TipoEntidadeId, elemento.TopologiaId, elemento.Localizacao, elemento.Nota); } BaseViewModel <NoViewModel> baseObj = new BaseViewModel <NoViewModel>(model, "Saved Successfully!", ""); return(Ok(baseObj)); //string localizacao = null; //if (model.Localizacoes != null) //{ // localizacao = model.Localizacoes.Where(y => y.Selected == true).Select(t => t.Text).FirstOrDefault(); // if (!_unitOfw.LocalizacaoExiste(localizacao, 0)) // { // BaseViewModel<string> notFound = new BaseViewModel<string>("Localização Not Found!"); // return NotFound(notFound); // } //} //No noToBeSaved = new No { Localizacao = localizacao }; } catch (Exception ex) { throw; } }