コード例 #1
0
        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;
            }
        }