private void FillDataRec(SqlDataReader reader, TaxRelief TaxRelief)
        {
            int      resInt  = 0;
            DateTime resDate = DateTime.MinValue;
            decimal  resDec  = 0;

            if (int.TryParse(reader["TaxRelief_Id"].ToString(), out resInt))
            {
                TaxRelief.TaxRelief_Id = resInt;
            }
            if (int.TryParse(reader["TaxRelief_PersCard_Id"].ToString(), out resInt))
            {
                TaxRelief.TaxRelief_PersCard_Id = resInt;
            }
            if (DateTime.TryParse(reader["TaxRelief_PerBeg"].ToString(), out resDate))
            {
                TaxRelief.TaxRelief_PerBeg = resDate;
            }
            if (DateTime.TryParse(reader["TaxRelief_PerEnd"].ToString(), out resDate))
            {
                TaxRelief.TaxRelief_PerEnd = resDate;
            }
            if (decimal.TryParse(reader["TaxRelief_Koef"].ToString(), out resDec))
            {
                TaxRelief.TaxRelief_Koef = resDec;
            }
        }
        //Создать строку вставки интервала налоговой льготы
        public string CreateStrInsertTaxRelief(TaxRelief taxRelief)
        {
            if (taxRelief == null)
            {
                return(string.Empty);
            }

            StringBuilder sql = new StringBuilder();

            sql.Append(@"Insert into TaxRelief (TaxRelief_PersCard_Id");
            if (taxRelief.TaxRelief_PerBeg != DateTime.MinValue)
            {
                sql.Append(@",TaxRelief_PerBeg");
            }
            if (taxRelief.TaxRelief_PerEnd != DateTime.MinValue)
            {
                sql.Append(@",TaxRelief_PerEnd");
            }
            sql.Append(@",TaxRelief_Koef) values (");
            sql.Append(taxRelief.TaxRelief_PersCard_Id);
            if (taxRelief.TaxRelief_PerBeg != DateTime.MinValue)
            {
                sql.AppendFormat(", {{d'{0}'}}", taxRelief.TaxRelief_PerBeg.ToString("yyyy-MM-dd"));
            }
            if (taxRelief.TaxRelief_PerEnd != DateTime.MinValue)
            {
                sql.AppendFormat(", {{d'{0}'}}", taxRelief.TaxRelief_PerEnd.ToString("yyyy-MM-dd"));
            }
            sql.AppendFormat(", {0} );", taxRelief.TaxRelief_Koef.ToString().Replace(',', '.'));
            return(sql.ToString());
        }
Exemple #3
0
        //Обновление строки
        private void UpdateTaxRelief()
        {
            if (dgvTaxRelief.CurrentRow == null)
            {
                return;
            }
            TaxRelief taxRelief = dgvTaxRelief.CurrentRow.DataBoundItem as TaxRelief;

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

            fmTaxReliefEdit.AddControlPeriod(taxReliefs);
            fmTaxReliefEdit.SetData(taxRelief);
            if (fmTaxReliefEdit.ShowDialog() == DialogResult.OK)
            {
                taxRelief = fmTaxReliefEdit.GetData();
                TaxRelief findTaxRelief = taxReliefs.FirstOrDefault(rec => rec.TaxRelief_Id == taxRelief.TaxRelief_Id);
                if (findTaxRelief == null)
                {
                    MessageBox.Show("Не знайдений рядок для оновлення", "Помилка");
                    return;
                }
                findTaxRelief.TaxRelief_PerBeg = taxRelief.TaxRelief_PerBeg;
                findTaxRelief.TaxRelief_PerEnd = taxRelief.TaxRelief_PerEnd;
                findTaxRelief.TaxRelief_Koef   = taxRelief.TaxRelief_Koef;
                RefreshTableTaxRelief();
            }
        }
Exemple #4
0
 public void SetData(TaxRelief taxRelief)
 {
     _id = taxRelief.TaxRelief_Id;
     if (taxRelief.TaxRelief_PerBeg != DateTime.MinValue)
     {
         tbPerBeg.Text = taxRelief.TaxRelief_PerBeg.ToShortDateString();
     }
     if (taxRelief.TaxRelief_PerEnd != DateTime.MinValue)
     {
         tbPerEnd.Text = taxRelief.TaxRelief_PerEnd.ToShortDateString();
     }
     tbKoef.Text = taxRelief.TaxRelief_Koef.ToString();
 }
        //Получить интервалы налоговых льгот по параметрам
        public List <TaxRelief> GetTaxReliefByParams(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 <TaxRelief> taxReliefs = new List <TaxRelief>();

            SqlCommand command = new SqlCommand(spTaxReliefSelect, conn);

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

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

            SqlDataReader reader = null;

            try
            {
                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    TaxRelief taxRelief = new TaxRelief();
                    FillDataRec(reader, taxRelief);
                    taxReliefs.Add(taxRelief);
                }
            }
            catch (Exception ex)
            {
                error      = ex.Message;
                taxReliefs = null;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(taxReliefs);
        }
        //Добавить интервал налоговой льготы
        public int AddTaxRelief(TaxRelief taxRelief, out string error)
        {
            error = string.Empty;
            if (taxRelief == null)
            {
                error = "taxRelief == null";
                return(0);
            }
            if (conn == null)
            {
                error = "conn == null";
                return(0);
            }
            SqlCommand command = new SqlCommand(spTaxReliefInsert, conn);

            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Connection  = conn;
            command.Parameters.AddWithValue("@inTaxRelief_PersCard_Id",
                                            taxRelief.TaxRelief_PersCard_Id == 0 ? Convert.DBNull : taxRelief.TaxRelief_PersCard_Id);
            command.Parameters.AddWithValue("@inTaxRelief_PerBeg",
                                            taxRelief.TaxRelief_PerBeg == DateTime.MinValue ? Convert.DBNull : taxRelief.TaxRelief_PerBeg);
            command.Parameters.AddWithValue("@inTaxRelief_PerEnd",
                                            taxRelief.TaxRelief_PerEnd == DateTime.MinValue ? Convert.DBNull : taxRelief.TaxRelief_PerEnd);
            command.Parameters.AddWithValue("@inTaxRelief_Koef", taxRelief.TaxRelief_Koef);
            // определяем выходной параметр
            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 #7
0
        //Физическое удаление строки
        private void DeleteTaxRelief()
        {
            if (dgvTaxRelief.CurrentRow == null)
            {
                return;
            }
            if (MessageBox.Show("Ви впевнені, що бажаєте видалити обраний рядок?", "Видалення", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }
            TaxRelief taxRelief = dgvTaxRelief.CurrentRow.DataBoundItem as TaxRelief;

            if (taxRelief == null)
            {
                MessageBox.Show("Не знайдений рядок для видалення", "Помилка");
                return;
            }
            taxReliefs.Remove(taxRelief);
            RefreshTableTaxRelief();
        }
        //Получить интервалы налоговых льгот
        public List <TaxRelief> GetAllTaxReliefs(out string error)
        {
            error = string.Empty;

            List <TaxRelief> taxReliefs = new List <TaxRelief>();

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

            SqlCommand command = new SqlCommand(spTaxReliefSelect, conn);

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

            try
            {
                reader = command.ExecuteReader();

                while (reader.Read())
                {
                    TaxRelief taxRelief = new TaxRelief();
                    FillDataRec(reader, taxRelief);
                    taxReliefs.Add(taxRelief);
                }
            }
            catch (Exception exc)
            {
                error = exc.Message;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(taxReliefs);
        }
Exemple #9
0
        //=============================================================================================================================
        //                                                      Льготы
        //=============================================================================================================================
        //Вставка строки
        private void InsertTaxRelief()
        {
            fmPersCardTaxReliefEdit fmTaxReliefEdit = new fmPersCardTaxReliefEdit(EnumFormMode.Insert, "Створення інтервалу");

            fmTaxReliefEdit.AddControlPeriod(taxReliefs);
            if (fmTaxReliefEdit.ShowDialog() == DialogResult.OK)
            {
                TaxRelief getTaxRelief = fmTaxReliefEdit.GetData();
                if (taxReliefs.Count == 0)
                {
                    getTaxRelief.TaxRelief_Id = 1;
                }
                else
                {
                    getTaxRelief.TaxRelief_Id = childs.Max(rec => rec.Child_Id) + 1;
                }
                getTaxRelief.TaxRelief_PersCard_Id = id;
                taxReliefs.Add(getTaxRelief);
                RefreshTableTaxRelief();
            }
        }
Exemple #10
0
        public TaxRelief GetData()
        {
            TaxRelief taxRelief = new TaxRelief();

            taxRelief.TaxRelief_Id = _id;

            DateTime perBeg;

            DateTime.TryParse(tbPerBeg.Text, out perBeg);
            taxRelief.TaxRelief_PerBeg = perBeg;

            DateTime perEnd;

            DateTime.TryParse(tbPerEnd.Text, out perEnd);
            taxRelief.TaxRelief_PerEnd = perEnd;


            decimal koef = 0;

            decimal.TryParse(tbKoef.Text, out koef);
            taxRelief.TaxRelief_Koef = koef;
            return(taxRelief);
        }
        //Изменить интервал налоговой льготы
        public bool ModifyTaxRelief(TaxRelief taxRelief, out string error)
        {
            error = string.Empty;
            if (conn == null)
            {
                error = "conn == null";
                return(false);
            }
            if (taxRelief == null)
            {
                error = "taxRelief == null";
                return(false);
            }
            SqlCommand command = new SqlCommand(spTaxReliefUpdate, conn);

            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Connection  = conn;
            command.Parameters.AddWithValue("@inTaxRelief_Id", taxRelief.TaxRelief_Id);
            command.Parameters.AddWithValue("@inTaxRelief_PersCard_Id",
                                            taxRelief.TaxRelief_PersCard_Id == 0 ? Convert.DBNull : taxRelief.TaxRelief_PersCard_Id);
            command.Parameters.AddWithValue("@inTaxRelief_PerBeg",
                                            taxRelief.TaxRelief_PerBeg == DateTime.MinValue ? Convert.DBNull : taxRelief.TaxRelief_PerBeg);
            command.Parameters.AddWithValue("@inTaxRelief_PerEnd",
                                            taxRelief.TaxRelief_PerEnd == DateTime.MinValue ? Convert.DBNull : taxRelief.TaxRelief_PerEnd);
            command.Parameters.AddWithValue("@inTaxRelief_Koef", taxRelief.TaxRelief_Koef);
            try
            {
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
            return(true);
        }