Esempio n. 1
0
        public JsonResult Create(RegistroCompraFiada compraFiada, FormCollection collection)
        {
            var Retorno = new RetornoJson();

            if (compraFiada.ClienteId == 0)
            {
                Retorno.Mensagem += "<span> O Cliente é obrigatório</span>";
            }
            if (compraFiada.FuncionarioId == 0)
            {
                Retorno.Mensagem += "<span> O Funcionario é obrigatório</span>";
            }
            //validar data corretamente
            if (!Utilitarios.validarData(compraFiada.DataParaPagamento.ToString()))
            {
                Retorno.Mensagem += "<span> A Data é obrigatório</span>";
            }
            if (compraFiada.DataParaPagamento <= DateTime.Now || compraFiada.DataParaPagamento > DateTime.Now.AddMonths(2))
            {
                Retorno.Mensagem += "<span> Não aceitamos data anterior ou igual a data atual ou data acima de dois meses em relação a data que o servico foi prestado</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            if (collection["Servicos"] != null)
            {
                compraFiada.DataCompra = DateTime.Now;
                var bdRegistroCompraFiada = new RegistroCompraFiadaRepositorioEF(contexto);
                bdRegistroCompraFiada.Adicionar(compraFiada);
                bdRegistroCompraFiada.SalvarTodos();

                //salvar os itens da compra de servicos fiado
                var bdServicoFiado = new ServicoFiadoRepositorioEF(contexto);

                var Servicos = collection["Servicos"].Split(',');
                foreach (var servico in Servicos)
                {
                    var servicoID = int.Parse(servico);
                    bdServicoFiado.Adicionar(new ServicoFiado()
                    {
                        RegistroCompraFiadaId = compraFiada.RegistroCompraFiadaId,
                        ServicoId             = servicoID
                    });
                }
                bdServicoFiado.SalvarTodos();

                Retorno.Sucesso      = true;
                Retorno.LimparForm   = true;
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/CompraFiado/Index";
            }
            else
            {
                Retorno.Mensagem += "<span> Não foi selecionado nenhum Servico</span>";
            }

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        public JsonResult EditServicoFiado(RegistroCompraFiada compraFiada, FormCollection collection)
        {
            var Retorno = new RetornoJson();

            if (!Utilitarios.validarData(compraFiada.DataParaPagamento.ToString()))
            {
                Retorno.Mensagem += "<span>Data invalida, inserir data correta</span>";
            }
            if (compraFiada.DataParaPagamento <= compraFiada.DataCompra || compraFiada.DataParaPagamento > compraFiada.DataCompra.AddMonths(2))
            {
                Retorno.Mensagem += "<span> Não aceitamos data anterior a data da compra ou data para pagamento maior que dois meses em relação a compra</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            var bdRegistroCompraFiada = new RegistroCompraFiadaRepositorioEF(contexto);

            bdRegistroCompraFiada.Atualizar(compraFiada);
            bdRegistroCompraFiada.SalvarTodos();

            if (collection["Servicos"] == null)
            {
                Retorno.Mensagem += "<span> Não foi selecionado nenhum Servico!<span>";
                if (Retorno.Mensagem != "")
                {
                    return(Json(Retorno, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                var ServicosBancoDados = contexto.ServicoFiado.Where(x => x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId).ToList();
                var bdServicoFiado     = new ServicoFiadoRepositorioEF(contexto);
                var Servicos           = collection["Servicos"].Split(',');
                //se tem na lista mas não tem no banco de dados
                foreach (var servico in Servicos)
                {
                    var idServico = int.Parse(servico);
                    if (!ServicosBancoDados.Any(x => x.ServicoId == idServico))
                    {
                        bdServicoFiado.Adicionar(new ServicoFiado()
                        {
                            RegistroCompraFiadaId = compraFiada.RegistroCompraFiadaId,
                            ServicoId             = idServico
                        });
                    }
                }
                bdServicoFiado.SalvarTodos();

                // se tiver no banco de dados mas nao tiver na lista
                foreach (var banco in ServicosBancoDados)
                {
                    if (!Servicos.Any(x => x == banco.ServicoId.ToString()))
                    {
                        bdServicoFiado.Excluir(x => x.ServicoId == banco.ServicoId && x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId);
                    }
                }
                bdServicoFiado.SalvarTodos();
            }

            //se for pago não aparecer na lista de serviços fiado, contabilizar comissoes que o funcionario ira ganhar
            if (compraFiada.Pago == true)
            {
                var      ServicosBancoDadosAposCompraPaga = contexto.ServicoFiado.Where(x => x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId).ToList();
                Comissao comissao   = new Comissao();
                var      bdComissao = new ComissaoRepositorioEF(contexto);

                foreach (var servico in ServicosBancoDadosAposCompraPaga)
                {
                    comissao.Data                  = DateTime.Now;
                    comissao.FuncionarioId         = compraFiada.FuncionarioId;
                    comissao.ServicoId             = servico.ServicoId;
                    comissao.valorComissao         = (servico.Servico.Preco * 5) / 100;
                    comissao.RegistroCompraFiadaId = compraFiada.RegistroCompraFiadaId;

                    bdComissao.Adicionar(comissao);
                    bdComissao.SalvarTodos();
                }
            }


            Retorno.Sucesso      = true;
            Retorno.LimparForm   = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/CompraFiado/Index";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }