Пример #1
0
        public IActionResult FormUpdateOrdemServico(OrdemServicoViewModel entrada)
        {
            OrdemServico modelo = new OrdemServico();

            entrada.contexto = this.contexto;
            try
            {
                if (OrdemServicoRules.OrdemServicoUpdate(entrada, out modelo))
                {
                    OrdemServicoRules.CalculoOrdem(ref modelo, servicoOrdemData, produtoOrdemData);
                    ordemServicoData.Update(modelo);

                    //Se fechar o Ordem insere o faturamento
                    if (entrada.ordemServico.statusOrdemServico == CustomEnumStatus.StatusOrdemServico.Fechado && entrada.ordemServico.condicaoPagamento == CustomEnum.codicaoPagamento.Avista)
                    {
                        FaturamentoRules.InsereFaturamento(modelo, contexto.idOrganizacao);
                    }


                    StatusMessage = "Registro Atualizado com Sucesso!";

                    return(RedirectToAction("FormUpdateOrdemServico", new { id = modelo.id.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 5, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdateOrdemServico-post", ex.Message);
            }

            return(RedirectToAction("FormUpdateOrdemServico", new { id = modelo.id.ToString() }));
        }
Пример #2
0
        public IActionResult FormUpdateAtendimento(AtendimentoViewModel entrada)
        {
            Atendimento modelo = new Atendimento();

            entrada.contexto = this.contexto;
            try
            {
                if (AtendimentoRules.AtendimentoUpdate(entrada, out modelo))
                {
                    atendimentoData.Update(modelo);

                    //Se fechar o Atendimento insere o faturamento
                    if (entrada.atendimento.statusAtendimento == CustomEnumStatus.StatusAtendimento.atendido && entrada.atendimento.CondicaoPagamento == CustomEnum.codicaoPagamento.Avista)
                    {
                        FaturamentoRules.InsereFaturamento(modelo, contexto.idOrganizacao);
                    }


                    StatusMessage = "Registro Atualizado com Sucesso!";

                    return(RedirectToAction("FormUpdateAtendimento", new { id = modelo.id.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 3, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdateAtendimento-post", ex.Message);
            }

            return(RedirectToAction("FormUpdateAtendimento", new { id = modelo.id.ToString() }));
        }
Пример #3
0
        public IActionResult FormUpdatePedido(PedidoViewModel entrada)
        {
            Pedido pedido = new Pedido();

            entrada.contexto = this.contexto;

            try
            {
                if (PedidoRules.PedidoUpdate(entrada, out pedido))
                {
                    PedidoRules.CalculoPedido(ref pedido, produtoPedidoData);
                    pedidoData.Update(pedido);

                    //Se fechar o Pedido insere o faturamento
                    if (entrada.pedido.statusPedido == CustomEnumStatus.StatusPedido.Fechado && entrada.pedido.condicaoPagamento == CustomEnum.codicaoPagamento.Avista)
                    {
                        FaturamentoRules.InsereFaturamento(pedido, contexto.idOrganizacao);
                    }

                    StatusMessage = "Registro Atualizado com Sucesso!";

                    return(RedirectToAction("FormUpdatePedido", new { id = pedido.id.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 4, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdatePedido-post", ex.Message);
            }
            return(View());
        }
Пример #4
0
        public IActionResult FormUpdateContasReceber(ContasReceberViewModel entrada)
        {
            ContasReceber modelo = new ContasReceber();

            entrada.contexto = this.contexto;
            try
            {
                if (ContasReceberRules.ContasReceberUpdate(entrada, out modelo))
                {
                    if (entrada.contasReceber.statusContaReceber == CustomEnumStatus.StatusContaReceber.recebido)
                    {
                        //Valida se houve Pagamento total
                        if (entrada.contasReceber.valorPago == entrada.contasReceber.valor)
                        {
                            if (ContasReceberRules.ValidaCalculoPagamento(ref modelo, pagamentoData))
                            {
                                contasReceberData.Update(modelo);
                                FaturamentoRules.InsereFaturamento((int)entrada.contasReceber.origemContaReceber, entrada.contasReceber.id, entrada.contasReceber.valor, this.contexto.idOrganizacao);
                            }
                            else
                            {
                                StatusMessage = "Valor Pago inconsistente, favor Atualizar Calculo";
                            }
                        }
                        else
                        {
                            StatusMessage = "Valor Pago inconsistente, favor verificar";
                        }
                    }
                    else
                    {
                        contasReceberData.Update(modelo);
                        StatusMessage = "Registro Atualizado com Sucesso!";
                    }



                    return(RedirectToAction("FormUpdateContasReceber", new { id = modelo.id.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 21, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdateContasReceber-post", ex.Message);
            }

            return(RedirectToAction("FormUpdateContasReceber", new { id = modelo.id.ToString() }));
        }
Пример #5
0
        public JsonResult GravarVenda(BalcaoVendas modelo, ProdutoBalcao[] produtosBalcao, Cliente cliente)
        {
            ResultServiceList     retorno = new ResultServiceList();
            BalcaoVendasViewModel entrada = new BalcaoVendasViewModel();

            entrada.balcaoVendas = modelo;
            entrada.contexto     = this.contexto;
            Guid idBalcaoVendas = new Guid();


            try
            {
                if (cliente.id != Guid.Empty)
                {
                    entrada.cliente    = new Relacao();
                    entrada.cliente.id = cliente.id;
                }
                else
                {
                    if (cliente.nomeCliente != null)
                    {
                        entrada.cliente    = new Relacao();
                        entrada.cliente.id = ClienteRules.CreateClienteResumo(cliente, this.contexto, clienteData);
                    }
                }

                idBalcaoVendas = BalcaoVendasRules.BalcaoVendasCreate(entrada, this.contexto, balcaoVendasData);

                if (BalcaoVendasRules.GravaProdutoBalcao(produtosBalcao, this.contexto, this.sqlGeneric, idBalcaoVendas))
                {
                    //Grava lançamento na tabela de faturamento
                    entrada.balcaoVendas.id = idBalcaoVendas;

                    //Grava Parcelas
                    if (entrada.balcaoVendas.condicaoPagamento == CustomEnum.codicaoPagamento.Prazo)
                    {
                        ContasReceberRules.GravaParcela(entrada.balcaoVendas, this.contaReceberData, this.contexto, this.orgConfig);
                    }

                    if (entrada.balcaoVendas.condicaoPagamento == CustomEnum.codicaoPagamento.Avista)
                    {
                        //Grava Debito
                        if (entrada.balcaoVendas.tipoPagamento == CustomEnum.tipoPagamento.CartaoDebito)
                        {
                            ContasReceberRules.GravaDebito(entrada.balcaoVendas, this.contaReceberData, this.contexto, this.orgConfig);
                        }

                        if (entrada.balcaoVendas.tipoPagamento == CustomEnum.tipoPagamento.Dinheiro || entrada.balcaoVendas.tipoPagamento == CustomEnum.tipoPagamento.Online)
                        {
                            FaturamentoRules.InsereFaturamento(entrada.balcaoVendas, this.contexto.idOrganizacao);
                        }

                        if (entrada.balcaoVendas.tipoPagamento == CustomEnum.tipoPagamento.Tranferencia || entrada.balcaoVendas.tipoPagamento == CustomEnum.tipoPagamento.Deposito || entrada.balcaoVendas.tipoPagamento == CustomEnum.tipoPagamento.Cheque)
                        {
                            FaturamentoRules.InsereFaturamento(entrada.balcaoVendas, this.contexto.idOrganizacao);
                        }
                    }

                    if (entrada.balcaoVendas.condicaoPagamento == CustomEnum.codicaoPagamento.Consignado)
                    {
                        ContasReceberRules.GravaConsignado(entrada.balcaoVendas, this.contaReceberData, this.contexto, this.orgConfig);
                    }

                    //Baixa Estoque
                    ProdutoRules.BaixaProdutoBalcao(produtosBalcao, contexto, produtoData);

                    retorno.id = idBalcaoVendas.ToString();
                    retorno.statusOperation = true;

                    return(Json(retorno));
                }
            }
            catch (Exception ex)
            {
                retorno.statusMensagem = ex.Message;
            }

            return(Json(retorno));
        }