Ejemplo n.º 1
0
        private void ValidarDisponibilidade(PedidoItem item, PedidoItemEntrega entrega)
        {
            var conexao    = new ConexaoDB();
            var parametros = new Dictionary <string, object>()
            {
                { "PRODUTO", item.Produto.idImportacao },
                { "DATA_ENTREGA", entrega.DataEnterga },
                { "QTDADE", entrega.Quantidade }
            };
            var retorno = conexao.ExecutaComandoComRetorno("SELECT DISPONIBILIDADE_VENDA(@PRODUTO, @DATA_ENTREGA, @QTDADE) AS DISPONIBILIDADE FROM DUAL", parametros).First();

            if (retorno.ContainsKey("DISPONIBILIDADE"))
            {
                var disponibilidade = (DisponibilidadeVenda)Convert.ToInt32(retorno["DISPONIBILIDADE"]);
                if (disponibilidade == DisponibilidadeVenda.Indisponivel)
                {
                    _response.SetWarring("Disponíbilidade Excedida para data enformada.");
                }
            }
            else
            {
                _response.SetWarring("Disponíbilidade não calculada para produto informado.");
                _response.SetWarring("Entre em contato com comercial da sua empresa.");
            }
        }
Ejemplo n.º 2
0
        private void ValidarQuantidade(PedidoItem item, PedidoItemEntrega entrega)
        {
            if (entrega.Quantidade == 0)
            {
                _response.SetWarring("Quantidade informada deve ser maior que zero.");
            }

            if (item.Quantidade < entrega.Quantidade)
            {
                _response.SetWarring("Quantidade infromada é maior que a quantidade do Item.");
            }
        }
Ejemplo n.º 3
0
        public PartialViewResult Cadastro(PedidoItemEntrega entrega)
        {
            _response = new ResponseModelView();
            ValidarCadastro(entrega);
            if (_response.Status == Utils.Enums.StatusResponse.Success)
            {
                //entrega.idEmpresa = UsuarioController.GetUsuarioLogado().idEntidade;
                _repositorio      = new Repositorio <PedidoItemEntrega>();
                entrega.Sequencia = _repositorio.Get.Where(pie => pie.idPedidoItem == entrega.idPedidoItem).Count() + 1;
                _repositorio.Adicionar(entrega);

                _response.SuccessMessage.Add("Entrega Cadastrada Com Sucesso.");
                _response.RotaSuccess = Url.Action("Editar", "PedidoItem", new { id = entrega.idPedidoItem });
            }
            return(PartialView("_ModalResponseMensagem", _response));
        }
Ejemplo n.º 4
0
        public PartialViewResult Editar(PedidoItemEntrega entrega)
        {
            _response = new ResponseModelView();
            ValidarCadastro(entrega);
            if (_response.Status == Utils.Enums.StatusResponse.Success)
            {
                _repositorio = new Repositorio <PedidoItemEntrega>();
                var entregaEditar = _repositorio.Get.FirstOrDefault(pie => pie.idEntrega == entrega.idEntrega);
                if (entregaEditar != null)
                {
                    entregaEditar.Quantidade  = entrega.Quantidade;
                    entregaEditar.DataEnterga = entrega.DataEnterga;
                    _repositorio.Editar(entregaEditar);

                    _response.SuccessMessage.Add("Entrega Editada Com Sucesso.");
                }
            }
            return(PartialView("_ModalResponseMensagem", _response));
        }
Ejemplo n.º 5
0
        private void ValidarCadastro(PedidoItemEntrega entrega)
        {
            var repositorioItem = new Repositorio <PedidoItem>();
            var pedidoItem      = repositorioItem.Get.FirstOrDefault(pi => pi.idPedidoItem == entrega.idPedidoItem);

            if (!pedidoItem.Produto.Importado)
            {
                _response.SetWarring("Esse produto ainda não foi importado para calcular a disponíbilidade de venda.");
                _response.SetWarring("Entre em contato com comercial da sua empresa.");
                return;
            }

            if (!entrega.DataEnterga.DataValida())
            {
                _response.SetWarring("Data de entrega não é valida.");
                return;
            }


            ValidarQuantidade(pedidoItem, entrega);
            ValidarDisponibilidade(pedidoItem, entrega);
        }