private bool ChangeGroupOfClients(List<PedidoFields> listPedidos)
        {
            try
            {
                foreach (PedidoFields itemListPedido in listPedidos)
                {
                    bool updated = false;
                    ClienteFields cliente = new ClienteControl().GetItem(itemListPedido.fkCliente);

                    var grupoCliente = new GrupoClienteControl().GetItem(new SubGrupoClienteControl().GetItem(cliente.fkSubGrupoCliente).fkGrupoCliente);
                    var listSubGrupos = from sbc in new SubGrupoClienteControl().GetAll()
                                        where sbc.fkGrupoCliente == grupoCliente.idGrupoCliente
                                        select sbc;

                    foreach (SubGrupoClienteFields itemSubGrupo in listSubGrupos)
                    {
                        if (itemListPedido.valorTotalPedido == 0)
                            break;

                        if (itemListPedido.valorTotalPedido >= itemSubGrupo.valorIndiceInicial &&
                            (itemListPedido.valorTotalPedido <= itemSubGrupo.valorIndiceFinal || itemSubGrupo.valorIndiceFinal == 0))
                        {
                            cliente.fkSubGrupoCliente = itemSubGrupo.idSubGrupoCliente;
                            new ClienteControl().Update(cliente);
                            updated = true;
                            break;
                        }
                    }

                    if (!updated)
                    {
                        //set inative group for this client
                        cliente.fkSubGrupoCliente = (from s in listSubGrupos
                                                     where (s.valorIndiceInicial == 0 && s.valorIndiceFinal == 0)
                                                     select s).FirstOrDefault().idSubGrupoCliente;

                        new ClienteControl().Update(cliente);
                    }
                }
            }
            catch (Exception ex)
            {
                return false;
            }

            return true;
        }
예제 #2
0
        private string GetStringByTelefone(string telefone)
        {
            string query = string.Empty;
            ClienteControl cliDal = new ClienteControl();

            if (cliDal.GetAll().Find(x => x.telefoneClienteA.Equals(telefone)) != null)
                query = " AND c.telefoneClienteA = '" + telefone + "' ";
            else if (cliDal.GetAll().Find(x => x.telefoneClienteB.Equals(telefone)) != null)
                query = " AND c.telefoneClienteB = '" + telefone + "' ";
            else if (cliDal.GetAll().Find(x => x.telefoneClienteC.Equals(telefone)) != null)
                query = " AND c.telefoneClienteC = '" + telefone + "' ";
            else if (cliDal.GetAll().Find(x => x.telefoneClienteD.Equals(telefone)) != null)
                query = " AND c.telefoneClienteD = '" + telefone + "' ";
            else
                return " AND c.telefoneClienteA = 'X'";

            return query;
        }