public async Task <JsonResult> CadastrarComercio([FromBody] CadastroComercio cadastroComercio) { if (!string.IsNullOrEmpty(cadastroComercio.CNPJ) && !string.IsNullOrEmpty(cadastroComercio.MercadoEndereco) && !string.IsNullOrEmpty(cadastroComercio.RazaoSocial) && !string.IsNullOrEmpty(cadastroComercio.MercadoTelefone) && cadastroComercio.IdUsuario != 0 && cadastroComercio.HoraInicio != DateTime.MinValue && cadastroComercio.HoraFim != DateTime.MinValue) { try { if (!await VerificaMercadoExistente(cadastroComercio.CNPJ)) { var mercado = new MercadoViewModel() { MercadoTelefone = cadastroComercio.MercadoTelefone, CNPJ = cadastroComercio.CNPJ, MercadoEndereco = cadastroComercio.MercadoEndereco, RazaoSocial = cadastroComercio.RazaoSocial, IdUsuario = cadastroComercio.IdUsuario, HoraInicio = cadastroComercio.HoraInicio, HoraFim = cadastroComercio.HoraFim }; await Contexto.MercadoViewModel.AddAsync(mercado); await Contexto.SaveChangesAsync(); return(Json(new { mensagem = "Sucesso", resultado = true })); } else { return(Json(new { mensagem = "CNPJ ja cadastrado", resultado = false })); } } catch (Exception ex) { return(Json(new { mensagem = ex.Message, resultado = false })); } } else { return(Json(new { mensagem = "Todos os campos devem ser preenchidos", resultado = false })); } }
public MercadoViewModel Find(int topologiaId, int noId, IMapper _mapper) { NoViewModel bo = new NoAppService(_unitOfw).Create(noId, topologiaId, _mapper); //No no = _unitOfw.NoRepository.Get(y => y.Id == noId).FirstOrDefault(); MercadoViewModel model = new MercadoViewModel { Familias = new SelectableEntityViewModel() { Available = new FamiliaSelect().Select(topologiaId), Selected = new NoFamiliaSelect().Select(noId) }, Items = bo.Items, Elementos = bo.Elementos }; // Produtos cadastrados no No List <string> produtoList = new NoProdutoSelect().Select(noId, _mapper).Select(p => p.Codigo).ToList(); // + Produtos pertencentes as familias cadastradas no No. (As familias são selecionadas nas correntes de entrada) produtoList.AddRange(new NoFamiliaProdutoSelect().Select(noId).Select(p => p.Codigo).ToList()); // Seleção dos Contratos que não sejam "Take Or Pay" model.Contratos = new SelectableEntityViewModel() { Available = new ContratoSelect().Select(topologiaId).Where(c => c.TipoEntidadeNome != "Take Or Pay" && (new ProdutoContratoSelect().Select(c.Id).Where(p => produtoList.Contains(p.Codigo)).Count() > 0 || new ProdutoFamiliaContratoSelect().Select(c.Id).Where(p => produtoList.Contains(p.Codigo)).Count() > 0)), Selected = new MercadoContratoSelect().Select(noId) }; model.IsSpot = (model.Contratos.Selected.Count() == 0); return(model); }