Exemplo n.º 1
0
        public (Result, string) Insert(IEnumerable <DeviceTestResults> data, object state = null)
        {
            using (var adapter = new HipotDataTableAdapter
            {
                Connection = new SqlConnection(SettingsContext.GlobalSettings.NifudaConnectionString)
            })
            {
                if (!SafeCheck.IsValidConnection(adapter.Connection))
                {
                    return(Result.Unsuccess, $"Database connection error");
                }

                var methodInfo = typeof(HipotDataTableAdapter).GetMethod("Insert");

                foreach (var obj in data)
                {
                    var tupleParameters = obj.PropertiesToTuple();
                    var values          = methodInfo.GetParameters().Select(info =>
                                                                            tupleParameters.FirstOrDefault(p =>
                                                                                                           p.Name.ToLower()
                                                                                                           == info.Name.ToLower()).Value ?? "");
                    if (values == null)
                    {
                        continue;
                    }
                    methodInfo.Invoke(adapter, values.ToArray());
                }

                return(Result.Success, $"Ok");
            }
        }
Exemplo n.º 2
0
        public IEnumerable <DeviceTestResults> SelectBySerial(string barcode, object state = null)
        {
            using (var adapter = new HipotDataTableAdapter
            {
                Connection = new SqlConnection(SettingsContext.GlobalSettings.NifudaConnectionString)
            })
            {
                if (!SafeCheck.IsValidConnection(adapter.Connection))
                {
                    throw new ConnectionException(SettingsContext.GlobalSettings.NifudaConnectionString);
                }

                var dataTable = adapter.GetDataBy(barcode);
                foreach (var obj in dataTable.AdaptWithSameProperties <DeviceTestResults,
                                                                       HipotDataTableRow>())
                {
                    yield return(obj);
                }
            }
        }