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

                var methodInfo = typeof(CalibrationDataTableAdapter).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 <CalibrationResults> SelectBySerial(string serial, object state = null)
        {
            using (var adapter = new CalibrationDataTableAdapter
            {
                Connection = new SqlConnection(SettingsContext.GlobalSettings.NifudaConnectionString)
            })
            {
                if (!SafeCheck.IsValidConnection(adapter.Connection))
                {
                    throw new ConnectionException(SettingsContext.GlobalSettings.NifudaConnectionString);
                }

                var dataTable = adapter.GetDataBy(serial);
                foreach (var obj in dataTable.AdaptWithSameProperties <CalibrationResults,
                                                                       CalibrationDataTableRow>())
                {
                    yield return(obj);
                }
            }
        }