Exemple #1
0
        //Обновление строки
        private void UpdateCardSpecExp()
        {
            if (dgvCardSpecExp.CurrentRow == null)
            {
                return;
            }
            CardSpecExp cardSpecExp = dgvCardSpecExp.CurrentRow.DataBoundItem as v_CardSpecExp;

            if (cardSpecExp == null)
            {
                MessageBox.Show("Не знайдений рядок для оновлення", "Помилка");
                return;
            }
            fmPersCardSpecExpEdit fmСardSpecExpEdit = new fmPersCardSpecExpEdit(EnumFormMode.Edit, "Зміна інтервалу", refSpecExps);

            fmСardSpecExpEdit.AddControlPeriod(cardSpecExps);
            fmСardSpecExpEdit.SetData(cardSpecExp);
            if (fmСardSpecExpEdit.ShowDialog() == DialogResult.OK)
            {
                cardSpecExp = fmСardSpecExpEdit.GetData();
                CardSpecExp findСardSpecExp = cardSpecExps.FirstOrDefault(rec => rec.CardSpecExp_Id == cardSpecExp.CardSpecExp_Id);
                if (findСardSpecExp == null)
                {
                    MessageBox.Show("Не знайдений рядок для оновлення", "Помилка");
                    return;
                }
                findСardSpecExp.CardSpecExp_PerBeg        = cardSpecExp.CardSpecExp_PerBeg;
                findСardSpecExp.CardSpecExp_PerEnd        = cardSpecExp.CardSpecExp_PerEnd;
                findСardSpecExp.CardSpecExp_RefSpecExp_Id = cardSpecExp.CardSpecExp_RefSpecExp_Id;
                RefreshTableCardSpecExp();
            }
        }
        //Создать строку вставки интервала статуса работника
        public string CreateStrInsertCardSpecExp(CardSpecExp cardSpecExp)
        {
            if (cardSpecExp == null)
            {
                return(string.Empty);
            }

            StringBuilder sql = new StringBuilder();

            sql.Append(@"Insert into CardSpecExp (CardSpecExp_PersCard_Id");
            if (cardSpecExp.CardSpecExp_PerBeg != DateTime.MinValue)
            {
                sql.Append(@",CardSpecExp_PerBeg");
            }
            if (cardSpecExp.CardSpecExp_PerEnd != DateTime.MinValue)
            {
                sql.Append(@",CardSpecExp_PerEnd");
            }
            sql.Append(@",CardSpecExp_RefSpecExp_Id) values (");
            sql.Append(cardSpecExp.CardSpecExp_PersCard_Id);
            if (cardSpecExp.CardSpecExp_PerBeg != DateTime.MinValue)
            {
                sql.AppendFormat(", {{d'{0}'}}", cardSpecExp.CardSpecExp_PerBeg.ToString("yyyy-MM-dd"));
            }
            if (cardSpecExp.CardSpecExp_PerEnd != DateTime.MinValue)
            {
                sql.AppendFormat(", {{d'{0}'}}", cardSpecExp.CardSpecExp_PerEnd.ToString("yyyy-MM-dd"));
            }
            sql.AppendFormat(", {0} );", cardSpecExp.CardSpecExp_RefSpecExp_Id);
            return(sql.ToString());
        }
        private void FillDataRec(SqlDataReader reader, CardSpecExp CardSpecExp)
        {
            int      resInt  = 0;
            DateTime resDate = DateTime.MinValue;

            if (int.TryParse(reader["CardSpecExp_Id"].ToString(), out resInt))
            {
                CardSpecExp.CardSpecExp_Id = resInt;
            }
            if (int.TryParse(reader["CardSpecExp_PersCard_Id"].ToString(), out resInt))
            {
                CardSpecExp.CardSpecExp_PersCard_Id = resInt;
            }
            if (DateTime.TryParse(reader["CardSpecExp_PerBeg"].ToString(), out resDate))
            {
                CardSpecExp.CardSpecExp_PerBeg = resDate;
            }
            if (DateTime.TryParse(reader["CardSpecExp_PerEnd"].ToString(), out resDate))
            {
                CardSpecExp.CardSpecExp_PerEnd = resDate;
            }
            if (int.TryParse(reader["CardSpecExp_RefSpecExp_Id"].ToString(), out resInt))
            {
                CardSpecExp.CardSpecExp_RefSpecExp_Id = resInt;
            }
        }
Exemple #4
0
        public CardSpecExp GetData()
        {
            CardSpecExp cardSpecExp = new CardSpecExp();

            cardSpecExp.CardSpecExp_Id = _id;

            DateTime perBeg;

            DateTime.TryParse(tbPerBeg.Text, out perBeg);
            cardSpecExp.CardSpecExp_PerBeg = perBeg;

            DateTime perEnd;

            DateTime.TryParse(tbPerEnd.Text, out perEnd);
            cardSpecExp.CardSpecExp_PerEnd = perEnd;

            int resInt = 0;

            ResField fldId = resFldSpecExp.FirstOrDefault(rec => rec.Name == "RefSpecExp_Id");

            if (fldId != null)
            {
                if (int.TryParse(fldId.Val, out resInt))
                {
                    cardSpecExp.CardSpecExp_RefSpecExp_Id = resInt;
                }
            }
            return(cardSpecExp);
        }
Exemple #5
0
 public void SetData(CardSpecExp сardSpecExp)
 {
     _id = сardSpecExp.CardSpecExp_Id;
     if (сardSpecExp.CardSpecExp_PerBeg != DateTime.MinValue)
     {
         tbPerBeg.Text = сardSpecExp.CardSpecExp_PerBeg.ToShortDateString();
     }
     if (сardSpecExp.CardSpecExp_PerEnd != DateTime.MinValue)
     {
         tbPerEnd.Text = сardSpecExp.CardSpecExp_PerEnd.ToShortDateString();
     }
     cmbSpecExp.ReadCombobox("RefSpecExp_Id", сardSpecExp.CardSpecExp_RefSpecExp_Id.ToString());
 }
        //Получить интервалы спецстажа работника по параметрам
        public List <CardSpecExp> GetCardSpecExpByParams(int persCard_Id, out string error)
        {
            error = string.Empty;

            if (conn == null)
            {
                error = "conn == null";
                return(null);
            }
            if (persCard_Id == 0)
            {
                error = "Не задані вхідні параметри";
                return(null);
            }
            List <CardSpecExp> cardSpecExpes = new List <CardSpecExp>();

            SqlCommand command = new SqlCommand(spCardSpecExpSelect, conn);

            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Connection  = conn;

            command.Parameters.AddWithValue("@inCardSpecExp_PersCard_Id", persCard_Id);

            SqlDataReader reader = null;

            try
            {
                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    CardSpecExp cardSpecExp = new CardSpecExp();
                    FillDataRec(reader, cardSpecExp);
                    cardSpecExpes.Add(cardSpecExp);
                }
            }
            catch (Exception ex)
            {
                error         = ex.Message;
                cardSpecExpes = null;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(cardSpecExpes);
        }
        //Добавить интервал статуса работника
        public int AddCardSpecExp(CardSpecExp cardSpecExp, out string error)
        {
            error = string.Empty;
            if (cardSpecExp == null)
            {
                error = "cardSpecExp == null";
                return(0);
            }
            if (conn == null)
            {
                error = "conn == null";
                return(0);
            }
            SqlCommand command = new SqlCommand(spCardSpecExpInsert, conn);

            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Connection  = conn;
            command.Parameters.AddWithValue("@inCardSpecExp_PersCard_Id",
                                            cardSpecExp.CardSpecExp_PersCard_Id == 0 ? Convert.DBNull : cardSpecExp.CardSpecExp_PersCard_Id);
            command.Parameters.AddWithValue("@inCardSpecExp_PerBeg",
                                            cardSpecExp.CardSpecExp_PerBeg == DateTime.MinValue ? Convert.DBNull : cardSpecExp.CardSpecExp_PerBeg);
            command.Parameters.AddWithValue("@inCardSpecExp_PerEnd",
                                            cardSpecExp.CardSpecExp_PerEnd == DateTime.MinValue ? Convert.DBNull : cardSpecExp.CardSpecExp_PerEnd);
            command.Parameters.AddWithValue("@inCardSpecExp_RefSpecExp_Id",
                                            cardSpecExp.CardSpecExp_RefSpecExp_Id == 0 ? Convert.DBNull : cardSpecExp.CardSpecExp_RefSpecExp_Id);
            // определяем выходной параметр
            SqlParameter outId = new SqlParameter
            {
                ParameterName = "outId",
                Direction     = ParameterDirection.Output,
                SqlDbType     = SqlDbType.Int
            };

            command.Parameters.Add(outId);
            try
            {
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(0);
            }
            int id = 0;

            int.TryParse(command.Parameters["outId"].Value.ToString(), out id);
            return(id);
        }
Exemple #8
0
        //Физическое удаление строки
        private void DeleteCardSpecExp()
        {
            if (dgvCardSpecExp.CurrentRow == null)
            {
                return;
            }
            if (MessageBox.Show("Ви впевнені, що бажаєте видалити обраний рядок?", "Видалення", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }
            CardSpecExp cardSpecExp = dgvCardSpecExp.CurrentRow.DataBoundItem as v_CardSpecExp;

            if (cardSpecExp == null)
            {
                MessageBox.Show("Не знайдений рядок для видалення", "Помилка");
                return;
            }
            cardSpecExps.Remove(cardSpecExp);
            RefreshTableCardSpecExp();
        }
        //Получить интервалы спецстажа работников
        public List <CardSpecExp> GetAllCardSpecExps(out string error)
        {
            error = string.Empty;

            List <CardSpecExp> cardSpecExps = new List <CardSpecExp>();

            if (conn == null)
            {
                error = "conn == null";
                return(cardSpecExps);
            }

            SqlCommand command = new SqlCommand(spCardSpecExpSelect, conn);

            command.CommandType = CommandType.StoredProcedure;
            SqlDataReader reader = null;

            try
            {
                reader = command.ExecuteReader();

                while (reader.Read())
                {
                    CardSpecExp cardSpecExp = new CardSpecExp();
                    FillDataRec(reader, cardSpecExp);
                    cardSpecExps.Add(cardSpecExp);
                }
            }
            catch (Exception exc)
            {
                error = exc.Message;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(cardSpecExps);
        }
Exemple #10
0
        //=============================================================================================================================
        //                                                      Спецстажи
        //=============================================================================================================================
        //Вставка строки
        private void InsertCardSpecExp()
        {
            fmPersCardSpecExpEdit fmСardSpecExpEdit = new fmPersCardSpecExpEdit(EnumFormMode.Insert, "Створення інтервалу", refSpecExps);

            fmСardSpecExpEdit.AddControlPeriod(cardSpecExps);
            if (fmСardSpecExpEdit.ShowDialog() == DialogResult.OK)
            {
                CardSpecExp getСardSpecExp = fmСardSpecExpEdit.GetData();
                if (cardSpecExps.Count == 0)
                {
                    getСardSpecExp.CardSpecExp_Id = 1;
                }
                else
                {
                    getСardSpecExp.CardSpecExp_Id = cardSpecExps.Max(rec => rec.CardSpecExp_Id) + 1;
                }
                getСardSpecExp.CardSpecExp_PersCard_Id = id;
                cardSpecExps.Add(getСardSpecExp);
                RefreshTableCardSpecExp();
            }
        }
        //Изменить интервал статуса работника
        public bool ModifyCardSpecExp(CardSpecExp cardSpecExp, out string error)
        {
            error = string.Empty;
            if (conn == null)
            {
                error = "conn == null";
                return(false);
            }
            if (cardSpecExp == null)
            {
                error = "cardSpecExp == null";
                return(false);
            }
            SqlCommand command = new SqlCommand(spCardSpecExpUpdate, conn);

            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Connection  = conn;
            command.Parameters.AddWithValue("@inCardSpecExp_Id", cardSpecExp.CardSpecExp_Id);
            command.Parameters.AddWithValue("@inCardSpecExp_PersCard_Id",
                                            cardSpecExp.CardSpecExp_PersCard_Id == 0 ? Convert.DBNull : cardSpecExp.CardSpecExp_PersCard_Id);
            command.Parameters.AddWithValue("@inCardSpecExp_PerBeg",
                                            cardSpecExp.CardSpecExp_PerBeg == DateTime.MinValue ? Convert.DBNull : cardSpecExp.CardSpecExp_PerBeg);
            command.Parameters.AddWithValue("@inCardSpecExp_PerEnd",
                                            cardSpecExp.CardSpecExp_PerEnd == DateTime.MinValue ? Convert.DBNull : cardSpecExp.CardSpecExp_PerEnd);
            command.Parameters.AddWithValue("@inCardSpecExp_RefSpecExp_Id",
                                            cardSpecExp.CardSpecExp_RefSpecExp_Id == 0 ? Convert.DBNull : cardSpecExp.CardSpecExp_RefSpecExp_Id);
            try
            {
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
            return(true);
        }