示例#1
0
        async public Task <Varsis.Data.Infrastructure.Pagination> TotalLinhas(long?size, List <Criteria> criterias)
        {
            List <string> filter = new List <string>();
            int           cont   = 0;

            if (criterias?.Count != 0)
            {
                foreach (var c in criterias)
                {
                    cont++;
                    string field = _FieldMap[c.Field.ToLower()];
                    string type  = _FieldType[c.Field.ToLower()];

                    if (type == "T")
                    {
                        filter.Add($"{field} {c.Operator.ToLower()} '{c.Value}'");
                    }
                    else if (type == "N")
                    {
                        filter.Add($"{field} {c.Operator.ToLower()} {c.Value}");
                    }
                }
            }


            Varsis.Data.Infrastructure.Pagination page = new Varsis.Data.Infrastructure.Pagination();
            string query = Global.MakeODataQuery("U_VSITENTIDADECONT/$count", null, filter.Count == 0 ? null : filter.ToArray(), null, 1, 0);
            string data  = await _serviceLayerConnector.getQueryResult(query);

            page.Linhas       = Convert.ToInt64(data);
            page.Paginas      = (Convert.ToInt64(data) / size.Value) + 1;
            page.qtdPorPagina = size.Value == 0 ? Convert.ToInt64(data) : size.Value;
            return(page);
        }
示例#2
0
        async public Task <VSITENTIDADE> Find(List <Criteria> criterias)
        {
            string recid = criterias[0].Value;
            string query = Global.BuildQuery($"U_VSITENTIDADE('{recid}')");
            string data  = await _serviceLayerConnector.getQueryResult(query);

            ExpandoObject record      = Global.parseQueryToObject(data);
            VSITENTIDADE  cadEntidade = toRecord(record);

            Serviceb1.Integration.VSITENTIDADECONTService contatoS = new VSITENTIDADECONTService(_serviceLayerConnector);
            List <Criteria> filtro = new List <Criteria>();

            filtro.Add(new Criteria
            {
                Field    = "codigo",
                Operator = "eq",
                Value    = cadEntidade.codigo.ToString()
            });
            cadEntidade.contatos = await contatoS.List(filtro, 1, -1);


            // Recupera as linhas da nota iscal
            string[] filter = new string[]
            {
                $"Code eq '{recid}'"
            };

            query = Global.MakeODataQuery("U_VSITENTIDADE", null, filter);

            data = await _serviceLayerConnector.getQueryResult(query);

            return(cadEntidade);
        }
示例#3
0
        async public Task <CfopToUsageMap> Find(List <Criteria> criterias)
        {
            string recid = criterias[0].Value;
            string query = Global.BuildQuery($"{SL_TABLE_NAME}('{recid}')");

            string data = await _serviceLayerConnector.getQueryResult(query);

            ExpandoObject record = Global.parseQueryToObject(data);

            CfopToUsageMap result = null;

            if (record != null)
            {
                result = toRecord(record);
            }

            return(result);
        }
示例#4
0
        async public Task <BusinessPartners> Find(List <Criteria> criterias)
        {
            string recid = criterias[0].Value;
            string query = Global.BuildQuery($"{SL_TABLE_NAME}('{recid}')");

            string data = await _serviceLayerConnector.getQueryResult(query);

            ExpandoObject record = Global.parseQueryToObject(data);

            BusinessPartners entity = null;

            if (record != null)
            {
                entity = toRecord(record);
            }

            return(entity);
        }
示例#5
0
        async public Task <Model.Connector.POSMonitorDetail> Find(List <Criteria> criterias)
        {
            string recid = criterias[0].Value;
            string query = Global.BuildQuery($"U_VSPOSMONITORDET('{recid}')");

            string data = await _serviceLayerConnector.getQueryResult(query);

            ExpandoObject record = Global.parseQueryToObject(data);

            Model.Connector.POSMonitorDetail detail = null;

            if (record != null)
            {
                detail = toRecord(record);
            }

            return(detail);
        }
示例#6
0
        async public Task <Model.Connector.POSBranchConfig> Find(List <Criteria> criterias)
        {
            string recid = criterias[0].Value;
            string query = Global.BuildQuery($"{SL_TABLE_NAME}('{recid}')");

            string data = await _serviceLayerConnector.getQueryResult(query);

            ExpandoObject record = Global.parseQueryToObject(data);

            Model.Connector.POSBranchConfig config = null;

            if (record != null)
            {
                config = toRecord(record);
            }

            return(config);
        }
示例#7
0
        async public Task <List <SalesInvoice> > List(List <Criteria> criterias, long page, long size)
        {
            var filter = parseCriterias(criterias);

            string query = Global.MakeODataQuery(SL_TABLE_NAME, null, filter.Length == 0 ? null : filter, null, page, size);

            string data = await _serviceLayerConnector.getQueryResult(query);

            List <ExpandoObject> lista = Global.parseQueryToCollection(data);

            List <SalesInvoice> result = new List <SalesInvoice>();

            if (lista != null)
            {
                foreach (dynamic o in lista)
                {
                    result.Add(toRecord(o));
                }
            }

            return(result);
        }
示例#8
0
        async public Task <Invoice> Find(List <Criteria> criterias)
        {
            string recid = criterias[0].Value;
            string query = Global.BuildQuery($"Invoice('{recid}')");

            string data = await _serviceLayerConnector.getQueryResult(query);

            ExpandoObject record = Global.parseQueryToObject(data);

            Invoice invoice = toRecord(record);

            // Recupera as linhas da nota iscal
            string[] filter = new string[]
            {
                $"CardCode eq '{recid}'"
            };

            query = Global.MakeODataQuery("Invoice", null, filter);

            data = await _serviceLayerConnector.getQueryResult(query);

            return(invoice);
        }
示例#9
0
        async public Task <VSITENTIDADECONT> Find(List <Criteria> criterias)
        {
            string recid = criterias[0].Value;
            string query = Global.BuildQuery($"U_VSITENTIDADECONT('{recid}')");

            string data = await _serviceLayerConnector.getQueryResult(query);

            ExpandoObject record = Global.parseQueryToObject(data);

            VSITENTIDADECONT entidade = toRecord(record);

            // Recupera as linhas da nota iscal
            string[] filter = new string[]
            {
                $"Code eq '{recid}'"
            };

            query = Global.MakeODataQuery("U_VSITENTIDADECONT", null, filter);

            data = await _serviceLayerConnector.getQueryResult(query);

            return(entidade);
        }
示例#10
0
        async public Task <Store> Find(List <Criteria> criterias)
        {
            string recid = criterias[0].Value;
            string query = Global.BuildQuery($"U_VSISSTORE('{recid}')");

            string data = await _serviceLayerConnector.getQueryResult(query);

            ExpandoObject record = Global.parseQueryToObject(data);

            Store store = toRecord(record);

            // Recupera as linhas da nota iscal
            string[] filter = new string[]
            {
                $"U_PRODUCTCODE eq '{recid}'"
            };

            query = Global.MakeODataQuery("U_VSISPRODUCT", null, filter);

            data = await _serviceLayerConnector.getQueryResult(query);

            return(store);
        }
示例#11
0
        async public Task <List <AccountIncomingInvoice> > List(List <Criteria> criterias, long page, long size)
        {
            string service         = SL_SERVICE_NAME;
            bool   filteredByGroup = false;

            var filter = this.parseCriteria(criterias.ToList());

            string query = string.Empty;

            if (criterias.FirstOrDefault(m => m.Field.ToLower() == "vendorgroup") != null)
            {
                filteredByGroup = true;

                service = $"$crossjoin({SL_SERVICE_NAME},U_S3ADVVENDOR)";

                string[] selectListArgs = new string[]
                {
                    "Code,Name,U_TransId,U_LineId,U_Cod_Cli,U_Cod_Cli_Ori,U_Nota,U_Serie,U_Parcela,U_Vencto,U_Vencto_Ori,U_Dt_Recepcao,",
                    "U_Dt_Emissao,U_Dt_Agendamento,U_Dt_Pagto,U_Dt_Liquida,U_Dt_Lancto,U_Dt_Prev_Recto,U_Conta_Controle,U_Banco,",
                    "U_Empresa,U_Filial,U_Condicao_Pagto,U_Status,U_Situacao,",
                    "U_Meio_Pagto,U_Forma_Pagto,U_Tipo_Conta,U_Numero_Conta,U_Dig_Conta,U_Dig_Agencia,U_Agencia,",
                    "U_Valor_Bruto,U_Abat_Manual,U_Abat_Pagar,U_Desconto_Acordo,U_Desconto,U_Acrescimos,",
                    "U_Juros,U_Multa,U_Valor_Pago,U_Moeda,",
                    "U_Val_Tran_Moeda,U_Var_Cam_Real,U_Var_Cam_Nreal,U_Code_Pagto,U_Seu_Numero,U_Nosso_Numero,",
                    "U_Arquivo_Gerado,U_Arquivo_Importado,U_Usu_Gerou_Arquivo,U_Usu_Importou_Conf,U_Usu_Importou_Liq,U_Dt_geracao,U_Motivo_Baixa,",
                    "U_Numero_Boleto,U_Lote_EDI, U_Modelo_nf,U_Conta_Razao,U_Dt_confirma,U_Ocorrencia, U_Retencoes"
                };

                string selectList = string.Join("", selectListArgs);
                string expand     = $"$expand=U_VSRECTITULOS($select={selectList})";

                query = $"{service}?{expand}&$filter={string.Join(" and ", filter)}";
                query = Uri.EscapeUriString(query);
            }
            else
            {
                query = Global.MakeODataQuery(service, null, filter.Length == 0 ? null : filter);
            }

            var data = await _serviceLayerConnector.getQueryResult(query);

            List <ExpandoObject> lista = Global.parseQueryToCollection(data);

            List <AccountIncomingInvoice> result = new List <AccountIncomingInvoice>();

            if (lista != null)
            {
                foreach (dynamic o in lista)
                {
                    result.Add(toRecord(o, filteredByGroup));
                }
            }

            return(result);
        }
示例#12
0
        async public Task <List <POSInvoice> > List(List <Criteria> criterias, long page = -1, long size = -1)
        {
            var filter = this.ParseCriterias(criterias);

            string query = Global.MakeODataQuery(SL_TABLE_NAME, null, filter.Count == 0 ? null : filter.ToArray(), null, page, size);

            string data = await _serviceLayerConnector.getQueryResult(query);

            List <ExpandoObject> lista = Global.parseQueryToCollection(data);

            List <Model.Connector.POSInvoice> result = new List <Model.Connector.POSInvoice>();

            lista.ForEach(i =>
            {
                result.Add(toRecord(i));
            });

            return(result);
        }
示例#13
0
        async public Task <List <MaterialGroups> > List(List <Criteria> criterias, long page = -1, long size = -1)
        {
            List <string> filter = new List <string>();

            int cont = 0;

            if (criterias?.Count != 0)
            {
                foreach (var c in criterias)
                {
                    cont++;
                    string field = _FieldMap[c.Field.ToLower()];
                    string type  = _FieldType[c.Field.ToLower()];

                    if (type == "T")
                    {
                        filter.Add($"{field} {c.Operator.ToLower()} '{c.Value}'");
                    }
                    else if (type == "N")
                    {
                        filter.Add($"{field} {c.Operator.ToLower()} {c.Value}");
                    }
                }
            }

            string query = Global.MakeODataQuery("MaterialGroups");

            string data = await _serviceLayerConnector.getQueryResult(query);

            List <ExpandoObject> lista = Global.parseQueryToCollection(data);

            List <MaterialGroups> result = new List <MaterialGroups>();

            if (lista != null)
            {
                foreach (dynamic o in lista)
                {
                    result.Add(toRecord(o));
                }
            }

            return(result);
        }
示例#14
0
        async public Task <List <AccountIncomingInvoiceTax> > List(List <Criteria> criterias, long page, long size)
        {
            var filter = Global.parseCriterias(criterias, _FieldMap, _FieldMap).ToArray();
            var query  = Global.MakeODataQuery(SL_SERVICE_NAME, null, filter.Length == 0 ? null : filter);
            var data   = await _serviceLayerConnector.getQueryResult(query);

            List <ExpandoObject> lista = Global.parseQueryToCollection(data);

            List <AccountIncomingInvoiceTax> result = new List <AccountIncomingInvoiceTax>();

            if (lista != null)
            {
                foreach (dynamic o in lista)
                {
                    result.Add(toRecord(o));
                }
            }

            return(result);
        }