Пример #1
0
        public ActionResult ClientesFatura(string IDClienteFatura)
        {
            PesquisaClientesFaturaViewModel model = new PesquisaClientesFaturaViewModel();

            model.IDTipoPedido = Session_Carrinho.IDTipoPedido;

            if (IDClienteFatura == null && base.Session_Carrinho.ClienteFatura != null)
            {
                IDClienteFatura = base.Session_Carrinho.ClienteFatura.ID_CLIENTE.ToString();
            }

            int iIDClienteFatura;

            if (int.TryParse(IDClienteFatura, out iIDClienteFatura) && iIDClienteFatura > 0)
            {
                using (var ctx = new TIDalutexContext())
                {
                    int idRepresentante          = base.Session_Carrinho.Representante.IDREPRESENTANTE;
                    VW_CLIENTE_TRANSP objCliente = ctx.VW_CLIENTE_TRANSP.Where(x => x.ID_CLIENTE == iIDClienteFatura && x.ID_REP == idRepresentante).First();
                    model.ClientesFatura = new List <VW_CLIENTE_TRANSP>();
                    model.ClientesFatura.Add(objCliente);
                    model.Filtro = objCliente.NOME;
                }
            }

            return(View(model));
        }
Пример #2
0
        public ActionResult EnviarPDFTabelaPreco(string IDUsuario)
        {
            using (var ctx = new TIDalutexContext())
            {
                decimal id = Convert.ToDecimal(IDUsuario);

                VW_EMAIL_USUARIO email = ctx.VW_EMAIL_USUARIO.Where(x => x.ID_USUARIO == Session_Usuario.COD_USU && x.EMAIL.Trim() != "X").FirstOrDefault();

                if (email != null)
                {
                    ctx.EMAIL_TABELA_PRECO.Add(new EMAIL_TABELA_PRECO()
                    {
                        ID_UAUARIO   = Session_Usuario.COD_USU,// System.Convert.ToDecimal(IDUsuario),
                        STATUS_ENVIO = 0
                    });
                    ctx.SaveChanges();

                    ViewBag.SemEmail = "";
                }
                else
                {
                    ViewBag.SemEmail = "Sem E-mail Cadastrado Para o Usuário Logado. Por favor verifique com setor Comercial.";
                }
            }
            return(View());
        }
Пример #3
0
        public void CreatePdfStream(out byte[] buffer, out MemoryStream pdfStream)
        {
            LocalReport relatorio = new LocalReport();

            //Caminho onde o arquivo do Report Viewer está localizado
            relatorio.ReportPath           = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["CAMINHO_ESPELHO_PEDIDO"]);
            relatorio.EnableExternalImages = true;

            //Caso as imagens estejam na mesma pasta da aplicação
            //string strImagens = url.AbsoluteUri.Replace(url.AbsolutePath, "").Replace(url.Query, "") + ConfigurationManager.AppSettings["PASTA_DESENHOS"].Replace("~", "").Replace("\\", "/");
            //Caso as imagens estejam publicadas em outro site.
            string strImagens = ConfigurationManager.AppSettings["PASTA_DESENHOS_RELATORIO"];

            relatorio.SetParameters(new ReportParameter("PASTA_DESENHOS", strImagens));

            using (var ctx = new TIDalutexContext())
            {
                //Define o nome do nosso DataSource e qual rotina irá preenche-lo, no caso, nosso método criado anteriormente
                relatorio.DataSources.Clear();
                var dts = ctx.VW_IMPRESSAO_WEB.Where(x => x.PEDIDO_BLOCO == IDPedidoBloco).ToList();

                relatorio.DataSources.Add(new ReportDataSource("dsPrePedido", dts));
            }

            string reportType = "PDF";
            string mimeType;
            string encoding;
            string fileNameExtension;

            string deviceInfo =
                "<DeviceInfo>" +
                " <OutputFormat>PDF</OutputFormat>" +
                " <PageWidth>11.69in</PageWidth>" +
                " <PageHeight>8.27in</PageHeight>" +
                " <MarginTop>0.3in</MarginTop>" +
                " <MarginLeft>0.2in</MarginLeft>" +
                " <MarginRight>0.2in</MarginRight>" +
                " <MarginBottom>0.2in</MarginBottom>" +
                "</DeviceInfo>";

            Warning[] warnings;
            string[]  streams;
            byte[]    file;

            //Renderiza o relatório em bytes
            file = relatorio.Render(
                reportType,
                deviceInfo,
                out mimeType,
                out encoding,
                out fileNameExtension,
                out streams,
                out warnings);

            buffer = new byte[4096];

            pdfStream = new MemoryStream(file);
        }
Пример #4
0
        public ActionResult ClientesEntrega(PesquisaClientesEntregaViewModel model)
        {
            using (var ctx = new TIDalutexContext())
            {
                int idRepresentante = base.Session_Carrinho.Representante.IDREPRESENTANTE;
                model.ClientesEntrega = ctx.VW_CLIENTE_TRANSP.Where(x => x.NOME.Contains(model.Filtro.ToUpper()) && x.ID_REP == idRepresentante).OrderBy(x => x.NOME).ToList();
            }

            return(View(model));
        }
Пример #5
0
        public ActionResult ClientesEntrega(string IDClienteEntrega)
        {
            PesquisaClientesEntregaViewModel model = new PesquisaClientesEntregaViewModel();

            string sClienteEntrega = base.Session_Carrinho.ClienteFatura.ID_CLIENTE.ToString();

            //PadLeft(5, '0');
            sClienteEntrega = sClienteEntrega.PadLeft(6, '0');

            using (var ctx = new TIDalutexContext())
            {
                bool?EhOpTriangular = ctx.VW_CLIE_OPER_TRINGULAR.Where(x => x.COD_CLIENTE.Trim() == sClienteEntrega).First().OPERACAO_TRIANGULAR;

                if (EhOpTriangular == true)
                {
                    ModelState.AddModelError("", "CLIENTE DE FATURA [" + base.Session_Carrinho.ClienteFatura.NOME + "]" + " TEM OPERAÇÃO TRIANGULAR.");
                    ModelState.AddModelError("", "O CLIENTE DE ENTREGA DEVE SER DIFERENTE DO CLIENTE DA FATURA.");

                    return(View(model));
                }
                else
                {
                    if (IDClienteEntrega == null && base.Session_Carrinho.ClienteEntrega != null)
                    {
                        IDClienteEntrega = base.Session_Carrinho.ClienteEntrega.ID_CLIENTE.ToString();
                    }

                    int iIDClienteEntrega;
                    int.TryParse(IDClienteEntrega, out iIDClienteEntrega);

                    if (iIDClienteEntrega == 0)
                    {
                        if (base.Session_Carrinho.ClienteFatura != null && base.Session_Carrinho.ClienteFatura.ID_CLIENTE > 0)
                        {
                            iIDClienteEntrega = base.Session_Carrinho.ClienteFatura.ID_CLIENTE;
                        }
                    }

                    if (iIDClienteEntrega > 0)
                    {
                        VW_CLIENTE_TRANSP _ClienteEntrega = ctx.VW_CLIENTE_TRANSP.Where(x => x.ID_CLIENTE == iIDClienteEntrega).First();
                        model.ClientesEntrega = new List <VW_CLIENTE_TRANSP>();
                        model.ClientesEntrega.Add(_ClienteEntrega);
                        model.Filtro = _ClienteEntrega.NOME;
                    }
                }
            }
            return(View(model));
        }
Пример #6
0
        public ActionResult TipoAtendimento(string Tipo)
        {
            PesquisaTipoAtendimentoViewModel model = new PesquisaTipoAtendimentoViewModel();

            using (TIDalutexContext ctxTI = new TIDalutexContext())
            {
                model.TiposAtendimento = ctxTI.PRE_PEDIDO_ATEND.ToList();
            }

            if (Tipo == null && base.Session_Carrinho.TipoAtendimento != null)
            {
                model.TipoSelecionado = base.Session_Carrinho.TipoAtendimento.COD_ATEND.ToString();
            }
            else
            {
                model.TipoSelecionado = Tipo;
            }

            return(View(model));
        }
Пример #7
0
        public ActionResult CondicaoPgto(string Condicao)
        {
            PesquisaCondicaoPagamentoViewModel model = new PesquisaCondicaoPagamentoViewModel();

            using (TIDalutexContext ctxTI = new TIDalutexContext())
            {
                model.Condicoes = ctxTI.VW_CONDICAO_PGTO.ToList();
            }

            if (Condicao == null && base.Session_Carrinho.CondicaoPagto != null)
            {
                model.CondicaoSelecionada = base.Session_Carrinho.CondicaoPagto.ID_COND.ToString();
            }
            else
            {
                model.CondicaoSelecionada = Condicao;
            }

            return(View(model));
        }
Пример #8
0
        private void ObterItensAcordoVigente(ListaAcordosVigentesViewModel model)
        {
            int iItensPorPagina = 6;

            using (var ctx = new TIDalutexContext())
            {
                List <VW_ACORDOS_VIGENTES> result = null;

                if (model.TotalPaginas == 0)
                {
                    result = ctx.VW_ACORDOS_VIGENTES.Where(x =>
                                                           (model.FiltroRepresentante == null || x.REPRESENTANTE.StartsWith(model.FiltroRepresentante.ToUpper()))
                                                           &&
                                                           (model.FiltroCliente == null || x.NOME_CLIENTE.Contains(model.FiltroCliente.ToUpper()))
                                                           ).OrderByDescending(x => x.NOME_CLIENTE).ToList();

                    decimal dTotal = result.Count / (decimal)iItensPorPagina;
                    model.TotalPaginas = (int)Decimal.Ceiling(dTotal);
                    if (model.TotalPaginas == 0)
                    {
                        model.TotalPaginas = 1;
                    }

                    model.ListaAcordosVigentes = result.Skip((model.Pagina - 1) * iItensPorPagina).Take(iItensPorPagina).ToList();
                }
                else
                {
                    model.ListaAcordosVigentes = ctx.VW_ACORDOS_VIGENTES
                                                 .Where(x => (model.FiltroRepresentante == null || x.REPRESENTANTE.StartsWith(model.FiltroRepresentante.ToUpper()))
                                                        &&
                                                        (model.FiltroCliente == null || x.NOME_CLIENTE.Contains(model.FiltroCliente.ToUpper()))
                                                        ).OrderByDescending(x => x.REPRESENTANTE).Skip((model.Pagina - 1) * iItensPorPagina).Take(iItensPorPagina).ToList();

                    if (result.Count() == 0)
                    {
                        ModelState.AddModelError("", "Nenhum acordo vigente foi encontrado");
                    }
                }
            }
        }
Пример #9
0
        public JsonResult ObterListaPrecos()
        {
            List <VW_CUS_CONS_TAB_PRECO> lstResult = null;


            using (var ctx = new TIDalutexContext())
            {
                decimal idUsuario = base.Session_Usuario.COD_USU;
                //decimal idUsuario = 456;
                if (idUsuario == 10)
                {
                    idUsuario = 2;
                }

                lstResult = ctx.VW_CUS_CONS_TAB_PRECO.Where(x => x.ID_USUARIO == idUsuario).ToList();
            }

            JsonResult jsonResult = Json(lstResult, JsonRequestBehavior.AllowGet);

            jsonResult.MaxJsonLength = int.MaxValue;
            return(jsonResult);

            //return Json(lstResult, JsonRequestBehavior.AllowGet);
        }
Пример #10
0
        public void ObterPedidosRascunho(RascunhoPedidoViewModel model)
        {
            int iItensPorPagina = 10;

            using (var ctxTI = new TIDalutexContext())
            {
                decimal dFiltroPedido = 0;
                decimal.TryParse(model.FiltroPedido, out dFiltroPedido);
                if (model.FiltroCliente != null)
                {
                    model.FiltroCliente = model.FiltroCliente.ToUpper();
                }

                if (model.FiltroRepresentante != null)
                {
                    model.FiltroRepresentante = model.FiltroRepresentante.ToUpper();
                }

                var result = (from p in ctxTI.VW_RASCUNHO_PEDIDOS
                              where (p.PEDIDO == dFiltroPedido || dFiltroPedido <= 0) &&
                              (model.FiltroCliente == null || p.CLIENTE.ToUpper().Contains(model.FiltroCliente)) &&
                              (model.FiltroRepresentante == null || p.REPRESENTANTE.ToUpper().Contains(model.FiltroRepresentante)) &&
                              (model.FiltroData == false || p.DATA_EMISSAO >= model.FiltroDataInicial && p.DATA_EMISSAO <= model.FiltroDataFinal)
                              orderby p.DATA_EMISSAO descending
                              select p).ToList();

                decimal dTotal = result.Count / (decimal)iItensPorPagina;
                model.TotalPaginas = (int)Decimal.Ceiling(dTotal);
                if (model.TotalPaginas == 0)
                {
                    model.TotalPaginas = 1;
                }

                model.Pedidos = result.Skip((model.Pagina - 1) * iItensPorPagina).Take(iItensPorPagina).ToList();
            }
        }
Пример #11
0
        public ActionResult SalvarRascunhoPedido()
        {
            if (base.Session_Carrinho != null)
            {
                try
                {
                    int vNumeroPedido = 0;

                    using (var ctx = new TIDalutexContext())
                    {
                        #region Grava Pedido
                        vNumeroPedido = ctx.Database.SqlQuery <int>("SELECT SEQ_RASCUNHO_PEDIDO.NEXTVAL FROM DUAL", 1).FirstOrDefault();

                        RASCUNHO_PEDIDO objPrePedido = new RASCUNHO_PEDIDO();

                        objPrePedido.PEDIDO             = vNumeroPedido;
                        objPrePedido.TIPO_PEDIDO        = base.Session_Carrinho.IDTipoPedido;
                        objPrePedido.ID_REPRESENTANTE   = base.Session_Carrinho.Representante.IDREPRESENTANTE;
                        objPrePedido.ID_CLIENTE         = base.Session_Carrinho.ClienteFatura.ID_CLIENTE;
                        objPrePedido.QUALIDADE_COM      = base.Session_Carrinho.QualidadeComercial.Key;
                        objPrePedido.COD_COND_PGTO      = base.Session_Carrinho.CondicaoPagto.ID_COND;
                        objPrePedido.OBSERVACOES        = base.Session_Carrinho.Observacoes;
                        objPrePedido.DATA_ENTREGA       = base.Session_Carrinho.DataEntrega;
                        objPrePedido.ID_CLIENTE_ENTREGA = (base.Session_Carrinho.IDTipoPedido != (int)Enums.TiposPedido.RESERVA ? base.Session_Carrinho.ClienteEntrega.ID_CLIENTE : base.Session_Carrinho.ClienteFatura.ID_CLIENTE);
                        objPrePedido.ID_TRANSPORTADORA  = (base.Session_Carrinho.IDTipoPedido != (int)Enums.TiposPedido.RESERVA ? base.Session_Carrinho.Transportadora.IDTRANSPORTADORA : -1);
                        objPrePedido.USUARIO_INICIO     = base.Session_Usuario.NOME_USU;
                        objPrePedido.ID_LOCAL           = (base.Session_Carrinho.IDLocaisVenda == null ? 5 : base.Session_Carrinho.IDLocaisVenda);//todo: verificar com marcio se precisa de uma view para este tipo
                        objPrePedido.COD_MOEDA          = base.Session_Carrinho.Moeda.CODIGOMOEDA;
                        objPrePedido.CANAL_VENDAS       = base.Session_Carrinho.CanailVenda.CANAL_VENDA;
                        objPrePedido.ATENDIMENTO        = (base.Session_Carrinho.IDTipoPedido != (int)Enums.TiposPedido.RESERVA ? base.Session_Carrinho.TipoAtendimento.COD_ATEND : 0);
                        objPrePedido.TIPOFRETE          = base.Session_Carrinho.Frete.TIPOFRETE;
                        objPrePedido.VIATRANSPORTE      = base.Session_Carrinho.ViaTransporte.VIATRANSPORTE;
                        objPrePedido.COMISSAO           = Session_Carrinho.PorcentagemComissao;
                        objPrePedido.ORIGEM             = "PW"; // APENAS PRA INFORMAR QUE ESTE PEDIDO VEIO DO PEDIDO WEB NOVO.
                        objPrePedido.PEDIDO_CLIENTE     = base.Session_Carrinho.PedidoCliente;
                        objPrePedido.PEDIDO_CLIENTE_ST  = base.Session_Carrinho.PedidoClienteSt;
                        objPrePedido.STATUS_PEDIDO      = 1; //embora esteja definido no banco como padrão "1", esta gravando nulo, então, deixar explicito.....
                        objPrePedido.DATA_INICIO        = DateTime.Now;
                        objPrePedido.DATA_FINAL         = DateTime.Now;
                        objPrePedido.DATA_EMISSAO       = DateTime.Now;
                        objPrePedido.DATA_EMISSAO_DT    = DateTime.Today;
                        #endregion

                        using (var transaction = ctx.Database.BeginTransaction())
                        {
                            try
                            {
                                #region Salvar Itens
                                List <RASCUNHO_PEDIDO_ITEM> lstItens = new List <RASCUNHO_PEDIDO_ITEM>();

                                int iNumeroItem = 0;

                                foreach (InserirNoCarrinhoViewModel item in base.Session_Carrinho.Itens)
                                {
                                    if (base.Session_Carrinho.IDTipoPedido == (int)Enums.TiposPedido.RESERVA)
                                    {
                                        item.Artigo               = "0000";
                                        item.Quantidade           = 100;
                                        item.Pecas                = 1;
                                        item.TecnologiaPorExtenso = null;
                                        item.DataEntregaItem      = DateTime.Now;
                                        item.DtItemSolicitada     = DateTime.Now;
                                    }

                                    string _cor;
                                    if (item.Tipo == Enums.ItemType.ValidacaoReserva)
                                    {
                                        _cor = "E000000";
                                    }
                                    else if (item.Cor == null)
                                    {
                                        _cor = "0000000";
                                    }
                                    else
                                    {
                                        _cor = item.Cor;
                                    }

                                    RASCUNHO_PEDIDO_ITEM objItemSalvar = new RASCUNHO_PEDIDO_ITEM();

                                    iNumeroItem++;

                                    objItemSalvar.ITEM               = iNumeroItem;
                                    objItemSalvar.PEDIDO             = vNumeroPedido;
                                    objItemSalvar.ARTIGO             = item.Artigo;
                                    objItemSalvar.COR                = _cor;
                                    objItemSalvar.DATA_ENTREGA       = item.DataEntregaItem;
                                    objItemSalvar.DESENHO            = item.Desenho;
                                    objItemSalvar.LISO_ESTAMP        = item.Tecnologia;
                                    objItemSalvar.PE                 = "N";
                                    objItemSalvar.PRECO_UNIT         = item.Preco;
                                    objItemSalvar.PRECOLISTA         = (item.PrecoTabela == null ? 0 : item.PrecoTabela);
                                    objItemSalvar.QTDEPC             = item.Pecas;
                                    objItemSalvar.QUANTIDADE         = item.Quantidade;
                                    objItemSalvar.REDUZIDO_ITEM      = item.Reduzido;
                                    objItemSalvar.UM                 = item.UnidadeMedida;
                                    objItemSalvar.VALOR_TOTAL        = item.Preco * item.Quantidade;
                                    objItemSalvar.VARIANTE           = item.Variante;
                                    objItemSalvar.COD_COMPOSE        = item.Compose;
                                    objItemSalvar.ORIGEM             = "PW";
                                    objItemSalvar.MALHA_PLANO        = item.UnidadeMedida == "MT" ? "P" : "M";
                                    objItemSalvar.MODA_DECORACAO     = "M";
                                    objItemSalvar.DATA_ENTREGA_DIGI  = item.DtItemSolicitada;
                                    objItemSalvar.ID_TAB_PRECO       = -1;
                                    objItemSalvar.STATUS_ITEM        = 15;
                                    objItemSalvar.PRECODIGITADOMOEDA = 0;
                                    objItemSalvar.TEM_RESTRICAO      = item.TemRestricao;
                                    objItemSalvar.RESTRICAO          = item.Restricao;

                                    if ((item.Tipo == Enums.ItemType.ValidacaoReserva || item.Tipo == Enums.ItemType.Estampado) && !item.PreExistente)
                                    {
                                        if (item.TecnologiaOriginal != item.TecnologiaPorExtenso)
                                        {
                                            objItemSalvar.TROCA_TECNOLOGIA = "Troca de " + item.TecnologiaOriginal + " para " + item.TecnologiaPorExtenso;
                                        }
                                    }

                                    lstItens.Add(objItemSalvar);
                                }

                                ctx.RASCUNHO_PEDIDO.Add(objPrePedido);


                                foreach (RASCUNHO_PEDIDO_ITEM item in lstItens)
                                {
                                    ctx.RASCUNHO_PEDIDO_ITEM.Add(item);
                                }
                                #endregion

                                ctx.SaveChanges();

                                transaction.Commit();
                            }
                            catch (Exception ex)
                            {
                                transaction.Rollback();
                                throw ex;
                            }
                        }
                    }
                    return(RedirectToAction("RascunhoPedidoSucesso", "Cadastro", new { pedido = vNumeroPedido.ToString() }));
                }
                catch (Exception ex) { base.Handle(ex); }
            }
            return(RedirectToAction("RascunhoPedidoSucesso", "Cadastro", new { pedido = "0" }));
        }
Пример #12
0
        private void ObterItensParaReserva(DesenhosSemImagemModelView model)
        {
            int iItensPorPagina = 24;

            using (var ctx = new TIDalutexContext())
            {
                List <ItemReserva> result = null;

                var query =
                    from dc in ctx.VW_DESENHOS_DISP_RESERVA
                    where
                    (dc.DESENHO.StartsWith(model.FiltroDesenho.ToUpper()) || model.FiltroDesenho == null) &&
                    (dc.COD_STUDIO.ToUpper().StartsWith(model.FiltroCodStudio.ToUpper()) || model.FiltroCodStudio == null) &&
                    (dc.COD_DAL.ToUpper().Contains(model.FiltroCodDal.ToUpper()) || model.FiltroCodDal == null) &&
                    (dc.NOME_STUDIO.ToUpper().Contains(model.FiltroStudio.ToUpper()) || model.FiltroStudio == null)
                    group dc by
                    new
                {
                    dc.DESENHO,
                    dc.COD_STUDIO,
                    dc.COD_DAL,
                    dc.ID_CONTROLE_DESENV,
                    dc.ID_STUDIO,
                    dc.ID_ITEM_STUDIO,
                    dc.NOME_STUDIO
                }
                into dv
                    select new ItemReserva
                {
                    Desenho   = dv.Key.DESENHO.ToUpper(),
                    CodStudio = dv.Key.COD_STUDIO.ToUpper(),
                    CodDal    = dv.Key.COD_DAL.ToUpper(),
                    IDControleDesenvolvimento = dv.Key.ID_CONTROLE_DESENV,
                    IDStudio     = (int)dv.Key.ID_STUDIO,
                    IDItemStudio = (int)dv.Key.ID_ITEM_STUDIO,
                    Studio       = dv.Key.NOME_STUDIO
                };


                if (model.TotalPaginas == 0)
                {
                    result = query.OrderByDescending(x => x.CodDal).ToList();

                    decimal dTotal = result.Count / (decimal)iItensPorPagina;
                    model.TotalPaginas = (int)Decimal.Ceiling(dTotal);
                    if (model.TotalPaginas == 0)
                    {
                        model.TotalPaginas = 1;
                    }

                    model.Galeria = result.Skip((model.Pagina - 1) * iItensPorPagina).Take(iItensPorPagina).ToList();
                }
                else
                {
                    model.Galeria = query.OrderByDescending(x => x.CodDal)
                                    .Skip((model.Pagina - 1) * iItensPorPagina)
                                    .Take(iItensPorPagina)
                                    .ToList();
                }
            }
        }
Пример #13
0
        public ActionResult ProximoPasso(
            string IDRepresentante,
            string IDClienteFatura,
            string IDClienteEntrega,
            string IDTransportadora,
            string IDQualidadeComercial,
            string IDMoeda,
            string IDCondicao,
            string IDCanal,
            string IDVia,
            string IDFrete,
            string IDTipo
            )
        {
            if (base.Session_Carrinho.IDTipoPedido != (int)Enums.TiposPedido.RESERVA)
            {
                foreach (var item in Session_Carrinho.Itens)
                {
                    if (item.Compose == -1)
                    {
                        return(RedirectToAction("Carrinho", "Pedido", new { errorMsg = "Falta definir campo compose para os itens. Por favor verificar" }));
                    }
                }
            }
            if (IDRepresentante != null)
            {
                using (var ctx = new DalutexContext())
                {
                    Session_Carrinho.Representante  = ctx.REPRESENTANTES.Find(int.Parse(IDRepresentante));
                    Session_Carrinho.ClienteFatura  = null;
                    Session_Carrinho.ClienteEntrega = null;
                }
            }
            else if (IDClienteFatura != null)
            {
                using (var ctx = new TIDalutexContext())
                {
                    int iIDClienteFatura = int.Parse(IDClienteFatura);
                    Session_Carrinho.ClienteFatura = ctx.VW_CLIENTE_TRANSP.Where(x => x.ID_CLIENTE == iIDClienteFatura).First();
                }
            }
            else if (IDClienteEntrega != null)
            {
                using (var ctx = new TIDalutexContext())
                {
                    int iIDClienteEntrega = int.Parse(IDClienteEntrega);
                    Session_Carrinho.ClienteEntrega = ctx.VW_CLIENTE_TRANSP.Where(x => x.ID_CLIENTE == iIDClienteEntrega).First();
                }
            }
            if (IDTransportadora != null) /*Não é ELSE pq os dois parâmetros são passados*/
            {
                using (var ctx = new DalutexContext())
                {
                    Session_Carrinho.Transportadora = ctx.TRANSPORTADORAS.Find(int.Parse(IDTransportadora));
                }
            }
            else if (IDQualidadeComercial != null)
            {
                Session_Carrinho.QualidadeComercial = new KeyValuePair <string, string>(IDQualidadeComercial, IDQualidadeComercial);
            }
            else if (IDMoeda != null)
            {
                using (DalutexContext ctxDalutex = new DalutexContext())
                {
                    Session_Carrinho.Moeda = ctxDalutex.CADASTRO_MOEDAS.Find(int.Parse(IDMoeda));
                }
            }
            else if (IDCondicao != null)
            {
                int iIDCondicao = int.Parse(IDCondicao);
                using (TIDalutexContext ctxTI = new TIDalutexContext())
                {
                    Session_Carrinho.CondicaoPagto = ctxTI.VW_CONDICAO_PGTO.Where(x => x.ID_COND == iIDCondicao).First();
                }
            }
            else if (IDCanal != null)
            {
                using (DalutexContext ctxDalutex = new DalutexContext())
                {
                    Session_Carrinho.CanailVenda = ctxDalutex.CANAIS_VENDA.Find(int.Parse(IDCanal));
                }
            }
            else if (IDVia != null)
            {
                using (DalutexContext ctxDalutex = new DalutexContext())
                {
                    Session_Carrinho.ViaTransporte = ctxDalutex.COML_VIASTRANSPORTE.Find(int.Parse(IDVia));
                }
            }
            else if (IDFrete != null)
            {
                using (DalutexContext ctxDalutex = new DalutexContext())
                {
                    Session_Carrinho.Frete = ctxDalutex.COML_TIPOSFRETE.Find(int.Parse(IDFrete));
                }
            }
            else if (IDTipo != null)
            {
                using (TIDalutexContext ctxTI = new TIDalutexContext())
                {
                    Session_Carrinho.TipoAtendimento = ctxTI.PRE_PEDIDO_ATEND.Find(int.Parse(IDTipo));
                }
            }

            if (base.Session_Carrinho.Representante == null || base.Session_Carrinho.Representante.IDREPRESENTANTE <= 0)
            {
                return(RedirectToAction("Representantes"));
            }
            else if (base.Session_Carrinho.ClienteFatura == null || base.Session_Carrinho.ClienteFatura.ID_CLIENTE <= 0)
            {
                return(RedirectToAction("ClientesFatura"));
            }
            else if (base.Session_Carrinho.IDTipoPedido != (int)Enums.TiposPedido.RESERVA)
            {
                if (base.Session_Carrinho.ClienteEntrega == null || base.Session_Carrinho.ClienteEntrega.ID_CLIENTE <= 0)
                {
                    return(RedirectToAction("ClientesEntrega"));
                }
                else if ((base.Session_Carrinho.ClienteFatura != null) && (base.Session_Carrinho.ClienteEntrega != null))
                {
                    string sClienteEntrega = base.Session_Carrinho.ClienteFatura.ID_CLIENTE.ToString();

                    using (var ctx = new TIDalutexContext())
                    {
                        sClienteEntrega = sClienteEntrega.PadLeft(6, '0');

                        bool?EhOpTriangular = ctx.VW_CLIE_OPER_TRINGULAR.Where(x => x.COD_CLIENTE.Trim() == sClienteEntrega).First().OPERACAO_TRIANGULAR;

                        if (EhOpTriangular == true)
                        {
                            if (base.Session_Carrinho.ClienteEntrega.ID_CLIENTE == base.Session_Carrinho.ClienteFatura.ID_CLIENTE)
                            {
                                return(RedirectToAction("ClientesEntrega"));
                            }
                        }
                    }
                }

                if (base.Session_Carrinho.Transportadora == null || base.Session_Carrinho.Transportadora.IDTRANSPORTADORA <= 0)
                {
                    return(RedirectToAction("Transportadora"));
                }
                else if (base.Session_Carrinho.QualidadeComercial.Key == null)
                {
                    return(RedirectToAction("QualidadeComercial"));
                }
                else if (base.Session_Carrinho.Moeda == null || base.Session_Carrinho.Moeda.CODIGOMOEDA < 0)
                {
                    return(RedirectToAction("Moeda"));
                }
                else if (base.Session_Carrinho.CondicaoPagto == null || base.Session_Carrinho.CondicaoPagto.ID_COND <= 0)
                {
                    return(RedirectToAction("CondicaoPgto"));
                }
                else if (base.Session_Carrinho.CanailVenda == null || base.Session_Carrinho.CanailVenda.CANAL_VENDA <= 0)
                {
                    return(RedirectToAction("CanalVendas"));
                }
                else if (base.Session_Carrinho.ViaTransporte == null || base.Session_Carrinho.ViaTransporte.VIATRANSPORTE <= 0)
                {
                    return(RedirectToAction("ViaTransporte"));
                }
                else if (base.Session_Carrinho.Frete == null || base.Session_Carrinho.Frete.TIPOFRETE <= 0)
                {
                    return(RedirectToAction("Frete"));
                }
                else if (base.Session_Carrinho.TipoAtendimento == null || base.Session_Carrinho.TipoAtendimento.COD_ATEND <= 0)
                {
                    return(RedirectToAction("TipoAtendimento"));
                }
            }

            return(RedirectToAction("ConclusaoPedido", "Pedido"));
        }
Пример #14
0
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    USUARIOS objUsuario = null;

                    using (var ctx = new TIDalutexContext())
                    {
                        objUsuario = ctx.USUARIOS.Where(x => x.LOGIN_USU.ToUpper() == model.Login.ToUpper() &&
                                                        x.SENHA_USU.ToUpper() == model.Password.ToUpper() &&
                                                        x.ATIVO == true
                                                        ).FirstOrDefault();

                        if (objUsuario != null)
                        {
                            var lstAcoes = ctx.USUARIOS_ACOES.Where(a => a.ID_USUARIO == objUsuario.COD_USU && (a.ID_ACAO == 141 || a.ID_ACAO == 142 || a.ID_ACAO == 143 || a.ID_ACAO == 144)).ToList();

                            if (lstAcoes.Exists(a => a.ID_ACAO == 141))
                            {
                                objUsuario.PodeCancelarItens = true;
                            }

                            if (lstAcoes.Exists(a => a.ID_ACAO == 142))
                            {
                                objUsuario.PodeEditarPedidoNormal = true;
                            }

                            if (lstAcoes.Exists(a => a.ID_ACAO == 143))
                            {
                                objUsuario.PodeEditarPedidoAvancado = true;
                            }

                            if (lstAcoes.Exists(a => a.ID_ACAO == 144))
                            {
                                objUsuario.PodeAcessarMenuAcordos = true;
                            }

                            FormsAuthentication.SetAuthCookie(objUsuario.NOME_USU, model.RememberMe);
                            objUsuario.SENHA_USU = null;
                            base.Session_Usuario = objUsuario;
                            if (!string.IsNullOrWhiteSpace(returnUrl))
                            {
                                return(RedirectToLocal(returnUrl));
                            }
                            else
                            {
                                return(RedirectToAction("Index", "Home"));
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", "USUÁRIO OU SENHA INVÁLIDOS.");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                base.Handle(ex);
            }
            // If we got this far, something failed, redisplay form
            return(View(model));
        }