예제 #1
0
        public IActionResult BalcaoVendasView(BalcaoVendasViewModel entrada)
        {
            BalcaoVendas modelo = new BalcaoVendas();

            entrada.contexto = this.contexto;
            modelo           = entrada.balcaoVendas;

            if (entrada.cliente.id != Guid.Empty)
            {
                modelo.idCliente = entrada.cliente.id;
            }

            modelo.modificadoEm      = DateTime.Now;
            modelo.modificadoPor     = contexto.idUsuario;
            modelo.modificadoPorName = contexto.nomeUsuario;

            try
            {
                balcaoVendasData.Update(modelo);
                StatusMessage = "Registro Atualizado com Sucesso!";
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 11, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdatePerfilAcesso-post", ex.Message);
            }

            return(RedirectToAction("BalcaoVendasView", new { id = modelo.id.ToString() }));
        }
예제 #2
0
        public static Guid BalcaoVendasCreate(BalcaoVendasViewModel entrada, ContextPage contexto, IBalcaoVendasData balcaoData)
        {
            entrada.balcaoVendas.codigo             = AutoNumber.GeraCodigo(31, contexto.idOrganizacao);
            entrada.balcaoVendas.statusBalcaoVendas = CustomEnumStatus.StatusBalcaoVendas.Fechado;

            if (entrada.cliente != null)
            {
                entrada.balcaoVendas.idCliente = entrada.cliente.id;
            }

            if (entrada.balcaoVendas.codigo != null)
            {
                ////************ Objetos de controle de acesso ***************
                entrada.balcaoVendas.criadoEm          = DateTime.Now;
                entrada.balcaoVendas.criadoPor         = contexto.idUsuario;
                entrada.balcaoVendas.criadoPorName     = contexto.nomeUsuario;
                entrada.balcaoVendas.modificadoEm      = DateTime.Now;
                entrada.balcaoVendas.modificadoPor     = contexto.idUsuario;
                entrada.balcaoVendas.modificadoPorName = contexto.nomeUsuario;
                entrada.balcaoVendas.idOrganizacao     = contexto.idOrganizacao;
                ////************ FIM Objetos de controle de acesso ***************

                //Grava objeto na base
                balcaoData.Add(entrada.balcaoVendas);
            }
            return(entrada.balcaoVendas.id);
        }
예제 #3
0
        public ViewResult BalcaoVendasView(string id)
        {
            BalcaoVendasViewModel modelo  = new BalcaoVendasViewModel();
            BalcaoVendas          retorno = new BalcaoVendas();

            try
            {
                modelo.contexto       = this.contexto;
                retorno               = balcaoVendasData.Get(new Guid(id));
                modelo.balcaoVendas   = retorno;
                modelo.listapreco     = Sqlservice.RetornaRelacaoListaPreco(modelo.balcaoVendas.idListaPreco);
                modelo.produtosBalcao = sqlGeneric.RetornaProdutoBalcaoByBalcao(new Guid(id));

                if (retorno.idCliente != null)
                {
                    modelo.cliente = Sqlservice.RetornaRelacaoCliente(retorno.idCliente);
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 4, this.contexto.idUsuario, this.contexto.idOrganizacao, "BalcaoVendasView-get", ex.Message);
            }

            return(View(modelo));
        }
예제 #4
0
        public ViewResult FormStatusBalcaoVendas(string id)
        {
            BalcaoVendasViewModel modelo = new BalcaoVendasViewModel();

            modelo.contexto = this.contexto;

            try
            {
                BalcaoVendas retorno = new BalcaoVendas();

                if (!String.IsNullOrEmpty(id))
                {
                    //campo que sempre contém valor
                    retorno = balcaoVendasData.Get(new Guid(id));

                    if (retorno != null)
                    {
                        modelo.balcaoVendas = retorno;
                    }
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 4, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormStatusBalcaoVendas-get", ex.Message);
            }
            return(View(modelo));
        }
예제 #5
0
        public IActionResult FormStatusBalcaoVendas(BalcaoVendasViewModel entrada)
        {
            try
            {
                if (entrada != null)
                {
                    entrada.balcaoVendas.modificadoEm      = DateTime.Now;
                    entrada.balcaoVendas.modificadoPor     = contexto.idUsuario;
                    entrada.balcaoVendas.modificadoPorName = contexto.nomeUsuario;

                    balcaoVendasData.UpdateStatus(entrada.balcaoVendas);

                    SqlGenericRules sqlGenericRules = new SqlGenericRules();

                    if (entrada.balcaoVendas.statusBalcaoVendas == CustomEnumStatus.StatusBalcaoVendas.Cancelado)
                    {
                        sqlGenericRules.CancelaFaturamentoBalcao(entrada.balcaoVendas.id.ToString());
                    }

                    List <ProdutoBalcao> produtosBalcao = sqlGeneric.RetornaProdutoBalcaoByBalcao(entrada.balcaoVendas.id);

                    ProdutoRules.RollbackProdutoBalcao(produtosBalcao.ToArray(), contexto, produtoData);

                    return(RedirectToAction("BalcaoVendasView", new { id = entrada.balcaoVendas.id.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 4, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormStatusPedido-post", ex.Message);
            }
            return(View());
        }
예제 #6
0
        public ViewResult BalcaoVendas(string idCliente)
        {
            BalcaoVendasViewModel modelo = new BalcaoVendasViewModel();

            try
            {
                modelo.contexto = contexto;
                modelo.balcaoVendas.criadoEm      = DateTime.Now;
                modelo.balcaoVendas.criadoPorName = contexto.nomeUsuario;

                //Prenche lista de preço para o contexto da página
                List <SelectListItem> itens = new List <SelectListItem>();
                itens = HelperAttributes.PreencheDropDownList(listaprecoData.GetAllRelacao(this.contexto.idOrganizacao));
                modelo.listaPrecos = itens;

                //Se passar o id carrega o cliente
                if (!String.IsNullOrEmpty(idCliente))
                {
                    modelo.cliente = Sqlservice.RetornaRelacaoCliente(new Guid(idCliente));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 4, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormCreatePedido-get", ex.Message);
            }

            return(View(modelo));
        }
예제 #7
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));
        }