Пример #1
0
        public async Task <List <Cliente> > Clientes(string user)
        {
            try
            {
                string query = $@"
                        Select 
                            cliente, nombre 
                        from 
                            EXACTUSDB.SYN_CLIENTE 
                        where cliente in(
                            SELECT 
                                IdCliente 
                            FROM 
                                FORMULACION.formula 
                            where 
                                UsuarioRegistro like '%{user}%'
                        )
                ";

                List <Cliente> res = await RemoteDAO.QueryToList <Cliente>(query);

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public async Task <List <Articulo> > Articulos()
        {
            try
            {
                string query = $@"
                        select * 
                        from 
                            exactusdb.syn_Articulo 
                        where 
                            articulo like '%01.13'
                            or articulo like '%01.14'
                            or articulo like '%01.26'
                            or articulo like '%01.34'
                            or articulo like '%02.13'
                            or articulo like '%02.14'
                            or articulo like '%01.62'
                ";

                List <Articulo> res = await RemoteDAO.QueryToList <Articulo>(query);

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #3
0
        public static ServiceResult <DataTable> testRemoteTable(Mapping mapping)
        {
            String query = "Select " + mapping.UserIDColumnName + ","
                           + mapping.TimeColumnName + "," + mapping.TransactionTypeColumnName
                           + " from " + mapping.TableName;

            ServiceResult <DataTable> result =
                RemoteDAO.ExecuteQuery(query, mapping.ConnectionString, mapping.ConnectionProvider);

            return(result);
        }
Пример #4
0
        public async Task <List <Formula> > Formulas(string user)
        {
            try
            {
                string query = $@"SELECT * FROM FORMULACION.formula where UsuarioRegistro like '%{user}%'";

                List <Formula> res = await RemoteDAO.QueryToList <Formula>(query);

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #5
0
        public async Task <List <Articulo> > PullChanges_Articulos()
        {
            try
            {
                List <Articulo> articulos = await LocalDAO.QueryToList <Articulo>("select Articulo, FCH_HORA_ULT_MODIF from Articulo");

                List <Insumo> insumo = articulos.Select(x => new Insumo
                {
                    id = x.ARTICULO,
                    UltimaModificacion = x.FCH_HORA_ULT_MODIF.ToString("o").Substring(0, 23)
                }).ToList();

                List <Articulo> actualizados = new List <Articulo>();

                var insumosPaginados = insumo.PaginateList(500);

                insumosPaginados.ForEach(async lista => {
                    string query = "FORMULACION.usp_Articulos_Diferencias";

                    //PREGUNTO A LA BBDD SI ESTOS REGISTROS CAMBIARON Y OBTENGO SOLO LOS QUE CAMBIARON

                    var concatenados = ConcatInsumo(lista);
                    var parametros   = new Dictionary <string, dynamic>();
                    parametros.Add($"@insumo", concatenados + ";");

                    List <Articulo> res = RemoteDAO.QueryToList <Articulo>(query, parametros, true);

                    //SI HUBO RESULTADOS ELIMINO LOS LOCALES CON ESOS IDS
                    if (res.Count != 0)
                    {
                        res.ForEach(x => actualizados.Add(x));
                        //ELIMINO EN LOCAL
                        var parametrosDelete = new Dictionary <string, dynamic>();
                        parametrosDelete.Add("@articulos", String.Join(",", res.Select(z => z.ARTICULO).ToList()));
                        await LocalDAO.QueryWithParam("delete from Articulo where articulo in(@articulos)", parametrosDelete);

                        //GUARDO LA VERSIÓN MÁS RECIENTE QUE ESTABA EN LA BASE DE DATOS.
                        await Guardar(res);
                    }
                });

                return(actualizados);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #6
0
        public async Task <List <Detalle> > Detalles(string user)
        {
            try
            {
                string query = $@"
                        Select * 
                        from FORMULACION.formuladetalle 
                        where IdFormula in(
                        SELECT idFormula 
                        FROM FORMULACION.formula 
                        where UsuarioRegistro like '%{user}%'
                        )
                ";

                List <Detalle> res = await RemoteDAO.QueryToList <Detalle>(query);

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #7
0
        public static bool moveToRemoteTable(String Customer)
        {
            ServiceResult <DataTable> result = MappingService.getMappingInfo();

            if (result == null || !result.IsSuccess() || result.Result.Rows.Count == 0)
            {
                SystemContext.Log(SystemContext.RootLogger, LogLevel.CORE, "Could not get mapping info");
                return(false);
            }
            if (!result.IsSuccess())
            {
                SystemContext.Log(SystemContext.RootLogger, LogLevel.CORE, result.ErrorMessage.englishValue);
            }

            DataRow Mapping = result.Result.Rows[0];

            if (Customer.Equals("AL-Sorayai"))
            {
                return(moveToRemoteTable_AlSorayai(Mapping["CONNECTION_STRING"].ToString().Trim(), Mapping["DB_TYPE"].ToString().Trim()));
            }

            ServiceResult <DataTable> newTransactions = getNewTransactions();

            foreach (DataRow transaction in newTransactions.Result.Rows)
            {
                DateTime transactionTime = DateTime.Parse(transaction["TRANS_DATE"].ToString());
                String   TransactionType = transaction["TRANS_TYPE"].ToString().Equals("0") ?
                                           Mapping["IN_TRANS_MAPPING"].ToString() : Mapping["OUT_TRANS_MAPPING"].ToString();
                String deviceName = transaction["DEVICE_NAME"].ToString();

                String insertCommand = "INSERT INTO " + Mapping["TRANS_TABLE"].ToString().Trim() + "("
                                       + Mapping["USER_ID_COL"].ToString().Trim() + "," + Mapping["TIME_COL"].ToString().Trim()
                                       + "," + Mapping["TRANS_TYPE_COL"].ToString().Trim()
                                       + "," + Mapping["DEVICE_NAME_COL"].ToString().Trim()
                                       + ") VALUES('" + transaction["USER_ID"].ToString().Trim() + "','"
                                       + transactionTime.ToString(Mapping["TIME_FORMAT"].ToString().Trim()) + "','"
                                       + TransactionType.ToString().Trim() + "','" + deviceName + "')";

                ServiceResult <String> remoteResult = RemoteDAO.ExecuteNoneQuery(insertCommand,
                                                                                 Mapping["CONNECTION_STRING"].ToString().Trim(), Mapping["DB_TYPE"].ToString().Trim());

                String setMoveFlagQuery = "UPDATE TRANSACTIONS SET IS_MOVED = 'y'"
                                          + "WHERE DEVICE_NAME = '" + transaction["DEVICE_NAME"].ToString() + "'"
                                          + "AND USER_ID = '" + transaction["USER_ID"].ToString() + "'"
                                          + "AND TRANS_TYPE = '" + transaction["TRANS_TYPE"].ToString() + "'"
                                          + "AND TRANS_DATE = '" + transaction["TRANS_DATE"].ToString() + "';";

                if (remoteResult.IsSuccess())
                {
                    DAL.DAO.ExecuteNoneQuery(setMoveFlagQuery);
                }
                else
                {
                    if (!remoteResult.ErrorMessage.errorCode.Equals("-2146232060"))
                    {
                        string[] paramlist = new string[4];
                        paramlist[0] = transaction["DEVICE_NAME"].ToString();
                        paramlist[1] = transaction["USER_ID"].ToString();
                        paramlist[2] = transaction["TRANS_DATE"].ToString();
                        paramlist[3] = transaction["TRANS_TYPE"].ToString();

                        SystemContext.LogWithParams(SystemContext.RootLogger, LogLevel.CORE, remoteResult.ErrorMessage.englishValue, paramlist);
                    }
                    else
                    {
                        DAL.DAO.ExecuteNoneQuery(setMoveFlagQuery);
                    }
                }
            }

            return(true);
        }