Exemple #1
0
        private SqlParameter[] GetSqlParametersToRewriteMainTable(DataRow row, UnitMeasureEnum unitMeasure)
        {
            SqlParameter[] sqlParameters = new SqlParameter[10];

            sqlParameters[0]       = new SqlParameter("@N_pp", SqlDbType.Int);
            sqlParameters[0].Value = row["N_пп"];

            sqlParameters[1]       = new SqlParameter(@"groupMuscle", SqlDbType.NVarChar, 50);
            sqlParameters[1].Value = row["Група_мязів"];

            sqlParameters[2]       = new SqlParameter("@typeTraining", SqlDbType.NVarChar, 255);
            sqlParameters[2].Value = row["Вид_тренування"];

            sqlParameters[3]       = new SqlParameter(@"exercise", SqlDbType.NVarChar, 255);
            sqlParameters[3].Value = row["Вправа"];

            sqlParameters[4]       = new SqlParameter(@"encumbrance", SqlDbType.NVarChar, 255);
            sqlParameters[4].Value = row["Обтяження"];

            sqlParameters[5]       = new SqlParameter(@"position", SqlDbType.NVarChar, 255);
            sqlParameters[5].Value = row["Положення"];

            DefineSqlParameterWeight(row, unitMeasure, out sqlParameters[6], out sqlParameters[7]);

            sqlParameters[8]       = new SqlParameter(@"reps", SqlDbType.Int);
            sqlParameters[8].Value = row["К_сть_повторень_з_max_вагою"];

            sqlParameters[9]       = new SqlParameter(@"sets", SqlDbType.Int);
            sqlParameters[9].Value = row["Загальна_к_сть_підходів"];

            return(sqlParameters);
        }
Exemple #2
0
        public void WriteDB(DataTable grid, SqlConnection connect, UnitMeasureEnum unitMeasure)
        {
            if (connect.State != ConnectionState.Open)
            {
                notification.MessageInvoke(false, "Помилка зі з'єднанням до бази даних");
                return;
            }
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "spWriteTrain";

            SqlTransaction tranPlSave = null;

            try
            {
                tranPlSave          = connect.BeginTransaction("tranPlSave");
                command.Transaction = tranPlSave;

                foreach (DataRow row in grid.Rows)
                {
                    command.Parameters.Clear();

                    SqlParameter[] sqlParameters = GetSqlParametersToRewriteMainTable(row, unitMeasure);
                    if (sqlParameters[6].Value == null)
                    {
                        return;
                    }

                    command.Parameters.AddRange(sqlParameters);

                    command.ExecuteNonQuery();
                }
                tranPlSave.Commit();//підтвердження всіх змін у базі даних
            }
            catch
            {
                if (tranPlSave != null)
                {
                    tranPlSave.Rollback();//Виконати відкад у випадку невдалого записування
                }

                notification.MessageInvoke(false, $"Таблицю не вдалося записати в базу даних");
                return;
            }

            notification.MessageInvoke(true, "Таблиця записана в базу даних");
        }
Exemple #3
0
        private void DefineSqlParameterWeight(DataRow row, UnitMeasureEnum unitMeasure, out SqlParameter parameterWeightKg, out SqlParameter parameterWeightLb)
        {
            parameterWeightKg = new SqlParameter(@"weightKg", SqlDbType.Int);
            parameterWeightLb = new SqlParameter(@"weightLb", SqlDbType.Int);

            if (unitMeasure == UnitMeasureEnum.Kg)
            {
                parameterWeightKg.Value = row["Max_вага"];
                parameterWeightLb.Value = 0;
            }
            else if (unitMeasure == UnitMeasureEnum.Lb)
            {
                parameterWeightKg.Value = 0;
                parameterWeightLb.Value = row["Max_вага"];
            }
            else
            {
                notification.MessageInvoke(false, "Неправильно задано одиницю вимірювання");
            }
        }
Exemple #4
0
 public UnitMeasure(UnitMeasureEnum unitMeasure, Notification notification)
 {
     this.unitMeasure  = unitMeasure;
     this.notification = notification;
 }