Пример #1
0
        public IActionResult FormCreatePagamento(PagamentoViewModel entrada)
        {
            Pagamento pagamento = new Pagamento();

            try
            {
                if (entrada.pagamento != null)
                {
                    if (PagamentoRules.ValidaCreate(entrada, contasReceberData))
                    {
                        if (PagamentoRules.PagamentoCreate(entrada, out pagamento, contexto))
                        {
                            pagamentoData.Add(pagamento);

                            ContasReceberRules.CalculoPagamento(entrada.contasReceber.id, pagamentoData, contasReceberData);

                            return(RedirectToAction("FormUpdateContasReceber", "ContasReceber", new { id = entrada.contasReceber.id.ToString() }));
                        }
                    }
                    else
                    {
                        return(RedirectToAction("MensagemPagamento", "Pagamento", new { idContasReceber = entrada.contasReceber.id.ToString() }));
                    }
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 12, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormCreatePagamento-post", ex.Message);
            }
            return(View());
        }
Пример #2
0
        public IActionResult DeletePagamento(string idPagamento, string idContasReceber)
        {
            Pagamento modelo = new Pagamento();

            modelo.id = new Guid(idPagamento);
            pagamentoData.Delete(modelo);

            ContasReceberRules.CalculoPagamento(new Guid(idContasReceber), pagamentoData, contasReceberData);

            return(RedirectToAction("GridPagamento", "Pagamento", new { idContasReceber = idContasReceber }));
        }
Пример #3
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() }));
        }
Пример #4
0
        public IActionResult FormCreateContasReceber(ContasReceberViewModel entrada)
        {
            ContasReceber modelo = new ContasReceber();

            try
            {
                if (entrada.contasReceber != null)
                {
                    if (ContasReceberRules.ContasReceberCreate(entrada, out modelo, contexto))
                    {
                        contasReceberData.Add(modelo);
                        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, "FormCreateContasReceber-post", ex.Message);
            }
            return(View());
        }
Пример #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));
        }