Exemple #1
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            errorProvider.Clear();

            if (string.IsNullOrEmpty(monhoc) || string.IsNullOrEmpty(lop))
            {
                this.btnNhap.Enabled = true;
                this.btnLuu.Enabled = false;

                errorProvider.SetError(this.btnNhap, "Các trường thông tin nhập điểm không được để trống !");
                return;
            }


            if (checkEmptyRow())
            {
                this.btnNhap.Enabled = false;
                this.btnLuu.Enabled = true;
                errorProvider.SetError(this.btnLuu, "Bạn chưa nhập hết bản điểm cho sinh viên !");
                return;
            }
            else
            {
                //get binding source từ gridcontrol
                BindingSource bdsTemp = (BindingSource)this.gridControlDiem.DataSource;
             
                // kết thúc việc cập nhật dữ liệu
                this.Validate();
                bdsTemp.EndEdit();


                // bắt đầu ghi dữ liệu
                SqlConnection conn = new SqlConnection(Program.URL_Connect);
                // bắt đầu transaction
                SqlTransaction tran;

                conn.Open();
                tran = conn.BeginTransaction();

                try
                {

                   
                    for (int i = 0; i < bdsTemp.Count ; i++)
                    {

                        SqlCommand cmd = new SqlCommand("SP_INSERT_DIEM", conn);
                        cmd.Connection = conn;
                        cmd.Transaction = tran;



                        cmd.CommandType = CommandType.StoredProcedure;
                        string masv = ((DataRowView)bdsTemp[i])["MASV"].ToString();
                        cmd.Parameters.Add(new SqlParameter("@MASV", masv));
                        cmd.Parameters.Add(new SqlParameter("@MAMH", monhoc));
                        cmd.Parameters.Add(new SqlParameter("@LAN", lanthi));

                        float diem = float.Parse(((DataRowView)bdsTemp[i])["DIEM"].ToString());
                        cmd.Parameters.Add(new SqlParameter("@DIEM", diem));

                         cmd.ExecuteNonQuery();
                  

                    }


                    tran.Commit();
                }
                catch (SqlException sqlex)
                {
                    try
                    {

                        tran.Rollback();
                        XtraMessageBox.Show("Lỗi ghi toàn bộ điểm vào Database. Bạn hãy xem lại ! " + sqlex.Message, "", MessageBoxButtons.OK);

                    }
                    catch (Exception ex2)
                    {
                        Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType());
                        Console.WriteLine("  Message: {0}", ex2.Message);
                    }
                    conn.Close();
                    return;
                }
                finally
                {
                    conn.Close();
                }


             

                XtraMessageBox.Show("Thao tác thành công!", "", MessageBoxButtons.OK);
                this.btnNhap.Enabled = true;
                this.btnLuu.Enabled = false;
                this.groupControlNhapDiem.Enabled = true;
                return;
            }
        }
Exemple #2
0
        private bool SaveDBSettings()
        {
            settingsService = Program.kernel.Get <ISettingsService>();

            if (FindDeviceNameDuplicate((DeviceInfoDTO)DBDeviceBS.Current, _parentDeviceId))
            {
                MessageBox.Show("Блок памяти таким именем уже используется для данного контроллера. Введите другое наименование.\n",
                                "Сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information);
                nameTBox.Focus();

                return(false);
            }

            DBSettingsBS.EndEdit();
            DBDeviceBS.EndEdit();

            int deviceTypeId = settingsService.GetDeviceTypeIdByName("DB");

            DevicesDTO entity = new DevicesDTO()
            {
                Id         = _deviceId,
                Name       = ((DeviceInfoDTO)DBDeviceBS.Current).Name,
                TypeId     = deviceTypeId,
                LocalCPUID = ConfigClass.Instance.LocalCPUID
            };

            if (_operation == Utils.Operation.Add)
            {
                if (!dataItemList.Any(s => s.ItemTypeId == 0))
                {
                    _deviceId = settingsService.DeviceCreate(entity);

                    if (_deviceId > 0)
                    {
                        int skId = settingsService.GetSettingKindIdByName("DataBlockIndex");

                        settingsService.DeviceSettingCreate(new DeviceSettingsDTO()
                        {
                            DeviceId      = _deviceId,
                            SettingKindId = skId,
                            SettingValue  = ((DeviceInfoDTO)DBDeviceBS.Current).SettingValue
                        });

                        int iId = settingsService.GetSettingKindIdByName("Interval");

                        settingsService.DeviceSettingCreate(new DeviceSettingsDTO()
                        {
                            DeviceId      = _deviceId,
                            SettingKindId = iId,
                            SettingValue  = refreshSpin.EditValue.ToString()
                        });

                        dataItemList.ForEach(s => s.DeviceId = _deviceId);

                        var items = dataItemList.Select(s => new DataItemsDTO()
                        {
                            DeviceId       = s.DeviceId,
                            ItemTypeId     = s.ItemTypeId,
                            Name           = s.Name,
                            Offset         = s.Offset,
                            ParentDeviceId = s.ParentDeviceId,
                            CanListen      = (s.CanListen) ? 1 : 0
                        }).ToList();

                        settingsService.DataItemsCreate(items);
                    }
                    else
                    {
                        MessageBox.Show("Ошибка при добавлении нового устройства! Проверьте настройки подключения.", "Сохранение", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(false);
                    }
                }
                else
                {
                    MessageBox.Show("Не выбран тип данных для одной или нескольких переменных блока памяти!", "Сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return(false);
                }
            }
            else
            {
                settingsService.DeviceUpdate(entity);

                var modelIndex = new DeviceSettingsDTO()
                {
                    Id            = ((DeviceInfoDTO)DBDeviceBS.Current).DeviceSettingId ?? 0,
                    DeviceId      = ((DeviceInfoDTO)DBDeviceBS.Current).DeviceId,
                    SettingKindId = settingsService.GetSettingKindIdByName("DataBlockIndex"),
                    SettingValue  = ((DeviceInfoDTO)DBDeviceBS.Current).SettingValue
                };

                settingsService.DeviceSettingUpdate(modelIndex);

                var modelInterval = new DeviceSettingsDTO()
                {
                    Id            = _intervatSettingId,
                    DeviceId      = ((DeviceInfoDTO)DBDeviceBS.Current).DeviceId,
                    SettingKindId = settingsService.GetSettingKindIdByName("Interval"),
                    SettingValue  = refreshSpin.EditValue.ToString()
                };

                settingsService.DeviceSettingUpdate(modelInterval);

                var items = dataItemList.Select(s => new DataItemsDTO()
                {
                    Id             = s.Id,
                    DeviceId       = s.DeviceId,
                    ItemTypeId     = s.ItemTypeId,
                    Name           = s.Name,
                    Offset         = s.Offset,
                    ParentDeviceId = s.ParentDeviceId,
                    CanListen      = (s.CanListen) ? 1 : 0
                }).ToList();

                settingsService.DataItemsUpdate(items);
            }

            return(true);
        }
        //******************************显示数据******************************//

        //显示根据信息查找
        private void DataShow(Int32 InstruID)
        {
            //******************************外表 根据条件绑定******************************//
            readOuterData(InstruID);
            outerBind();
            //MessageBox.Show("记录数目:" + dt记录.Rows.Count.ToString());

            //*******************************表格内部******************************//
            if (dt记录.Rows.Count <= 0)
            {
                //********* 外表新建、保存、重新绑定 *********//
                if (!mySystem.Parameter.isSqlOk)
                {
                    //初始化外表这一行
                    DataRow dr1 = dt记录.NewRow();
                    dr1 = writeOuterDefault(dr1);
                    dt记录.Rows.InsertAt(dr1, dt记录.Rows.Count);
                    //立马保存这一行
                    bs记录.EndEdit();
                    da记录.Update((DataTable)bs记录.DataSource);
                    //外表重新绑定
                    readOuterData(InstruID);
                    outerBind();

                    //********* 内表新建、保存 *********//

                    //内表绑定
                    readInnerData((int)dt记录.Rows[0]["ID"]);
                    innerBind();
                    dt记录详情.Rows.Clear();
                    dt记录详情 = writeInnerDefault(Convert.ToInt32(dt记录.Rows[0]["ID"]), dt记录详情);
                    setDataGridViewRowNums();
                    //立马保存内表
                    da记录详情.Update((DataTable)bs记录详情.DataSource);
                }
                else
                {
                    //初始化外表这一行
                    DataRow dr1 = dt记录.NewRow();
                    dr1 = writeOuterDefault(dr1);
                    dt记录.Rows.InsertAt(dr1, dt记录.Rows.Count);
                    //立马保存这一行
                    bs记录.EndEdit();
                    da记录_sql.Update((DataTable)bs记录.DataSource);
                    //外表重新绑定
                    readOuterData(InstruID);
                    outerBind();

                    //********* 内表新建、保存 *********//

                    //内表绑定
                    readInnerData((int)dt记录.Rows[0]["ID"]);
                    innerBind();
                    dt记录详情.Rows.Clear();
                    dt记录详情 = writeInnerDefault(Convert.ToInt32(dt记录.Rows[0]["ID"]), dt记录详情);
                    setDataGridViewRowNums();
                    //立马保存内表
                    da记录详情_sql.Update((DataTable)bs记录详情.DataSource);
                }
            }
            dataGridView1.Columns.Clear();
            readInnerData(Convert.ToInt32(dt记录.Rows[0]["ID"]));
            setDataGridViewColumns();
            innerBind();


            addComputerEventHandler(); // 设置自动计算类事件
            setFormState();            // 获取当前窗体状态:窗口状态  0:未保存;1:待审核;2:审核通过;3:审核未通过
            setEnableReadOnly();       //根据状态设置可读写性
        }
 private void btnUpdate_Click(object sender, EventArgs e)
 {
     BS.EndEdit();
     DA.Update(titleDataTable);
 }
Exemple #5
0
        /// <summary>
        /// 单击保存按钮事件
        /// </summary>
        private bool btnSave_Click()
        {
            try
            {
                masterBindingSource.EndEdit();
                DataRow dr = ((DataRowView)masterBindingSource.Current).Row;

                if (dr.RowState == DataRowState.Added && DataTypeConvert.GetString(dr[PrimaryKeyColumn]) != "")
                {
                    string sqlStr = string.Format("select count(*) from {0} where {1}='{2}'", TableName, PrimaryKeyColumn, DataTypeConvert.GetString(dr[PrimaryKeyColumn]));
                    if (DataTypeConvert.GetInt(BaseSQL.GetSingle(sqlStr)) > 0)
                    {
                        //MessageHandler.ShowMessageBox(string.Format("主键列[{0}]不可以输入重复的信息,请重新输入。", masterDataSet.Tables[0].Columns[PrimaryKeyColumn].Caption));
                        MessageHandler.ShowMessageBox(string.Format(f.tsmiZjl.Text + "[{0}]" + f.tsmiBkysrcfdxxqcxsr.Text, masterDataSet.Tables[0].Columns[PrimaryKeyColumn].Caption));
                        if (masterEditPanel != null)
                        {
                            masterEditPanel.SelectNextControl(null, true, true, true, true);
                        }
                        return(false);
                    }
                }
                else if (dr.RowState == DataRowState.Modified && DataTypeConvert.GetString(dr[PrimaryKeyColumn]) != "")
                {
                    string sqlStr = string.Format("select count(*) from {0} where {1}='{2}' and {1}!='{3}'", TableName, PrimaryKeyColumn, DataTypeConvert.GetString(dr[PrimaryKeyColumn, DataRowVersion.Current]), DataTypeConvert.GetString(dr[PrimaryKeyColumn, DataRowVersion.Original]));
                    if (DataTypeConvert.GetInt(BaseSQL.GetSingle(sqlStr)) > 0)
                    {
                        //MessageHandler.ShowMessageBox(string.Format("主键列[{0}]不可以输入重复的信息,请重新输入。", masterDataSet.Tables[0].Columns[PrimaryKeyColumn].Caption));
                        MessageHandler.ShowMessageBox(string.Format(f.tsmiZjl.Text + "[{0}]" + f.tsmiBkysrcfdxxqcxsr.Text, masterDataSet.Tables[0].Columns[PrimaryKeyColumn].Caption));
                        if (masterEditPanel != null)
                        {
                            masterEditPanel.SelectNextControl(null, true, true, true, true);
                        }
                        return(false);
                    }
                }

                if (dr.RowState != DataRowState.Unchanged || RowStateUnchangedIsSave)
                {
                    if (DoSave(dr))
                    {
                        newState = false;
                        Set_Button_State(true);
                        Set_EditZone_ControlReadOnly(true);

                        int posInt = masterBindingSource.Position;
                        btnRefresh_Click(null, null);
                        masterBindingSource.Position = posInt;
                        return(true);
                    }
                    return(false);
                }
                else
                {
                    newState = false;
                    Set_Button_State(true);
                    Set_EditZone_ControlReadOnly(true);

                    int posInt = masterBindingSource.Position;
                    btnRefresh_Click(null, null);
                    masterBindingSource.Position = posInt;
                    return(true);
                }
            }
            catch (Exception ex)
            {
                //ExceptionHandler.HandleException(this.Text + "--保存按钮事件错误。", ex);
                ExceptionHandler.HandleException(this.Text + "--" + f.tsmiBcansj.Text, ex);
                if (masterEditPanel != null)
                {
                    masterEditPanel.SelectNextControl(null, true, true, true, true);
                }
                return(false);
            }
        }
Exemple #6
0
        private void GrabarNuevoRegistro()
        {
            //Actualizo la Interfaz Grafica.
            DataRowView FilaActual;

            FilaActual                 = (DataRowView)bs.Current;
            FilaActual["precio"]       = txt_precio.Text;
            FilaActual["product_name"] = txt_product_name.Text;
            FilaActual["MasterRolls"]  = RAD_MASTER_ROLLS.Checked;
            FilaActual["Resmas"]       = RAD_RESMAS.Checked;
            FilaActual["Graphics"]     = RAD_GRAPHICS.Checked;
            FilaActual["Product_Ref"]  = txt_referencia.Text;
            FilaActual["Codebar"]      = txt_code_bar.Text;
            FilaActual["Ratio"]        = txt_ratio.Text;

            if (RAD_MASTER_ROLLS.Checked)
            {
                FilaActual["Code_RC"] = txt_product_id.Text + "0";
            }
            else
            {
                FilaActual["Code_RC"] = "";
            }
            bs.EndEdit();
            //Crear el Objeto producto.
            ClassProduct producto = new ClassProduct
            {
                Precio      = 0,
                Product_id  = txt_product_id.Text,
                ProductName = txt_product_name.Text,
                Descripcion = txt_descrip_product.Text,
                Referencia  = txt_referencia.Text,
                Codebar     = txt_code_bar.Text,
                Categoria   = cbo_category.Text,
                MasterRolls = RAD_MASTER_ROLLS.Checked,
                Resmas      = RAD_RESMAS.Checked,
                Graphics    = RAD_GRAPHICS.Checked,
                Code_RC     = FilaActual["Code_RC"].ToString(),
                Ratio       = Convert.ToDecimal(txt_ratio.Text)
            };

            producto.Precio  = Convert.ToDouble(txt_precio.Text);
            producto.Anulado = false;
            ProductsManager productoManager = new ProductsManager();

            // Validar la entidad Producto.
            if (producto.Product_id == string.Empty)
            {
                MessageBox.Show("Introduzca el Part Number.");
                return;
            }
            if (producto.ProductName == string.Empty)
            {
                MessageBox.Show("Introduzca el nombre del producto.");
                return;
            }
            if (producto.MasterRolls == false && producto.Resmas == false && producto.Graphics == false)
            {
                MessageBox.Show("Introduzca el tipo de producto Master Roll,Resma,Graphics.");
                return;
            }
            productoManager.Add(producto, false);
            // Verifico que el producto creado es un master rolls
            // para crear tambien el producto como rollo cortado.
            if (producto.MasterRolls)
            {
                productoManager.Add(CreateProductRollCut(producto), true);
            }
            txt_product_id.ReadOnly      = true;
            txt_product_name.ReadOnly    = true;
            txt_descrip_product.ReadOnly = true;
            txt_code_bar.ReadOnly        = true;
            txt_referencia.ReadOnly      = true;
            txt_precio.ReadOnly          = true;
            txt_ratio.ReadOnly           = true;
            cbo_category.Enabled         = true;
            RAD_MASTER_ROLLS.Enabled     = false;
            RAD_RESMAS.Enabled           = false;
            RAD_GRAPHICS.Enabled         = false;
            cbo_category.Enabled         = false;
            CHK_ANULADO.DataBindings.Add("checked", bs, "anulado");
            RAD_MASTER_ROLLS.DataBindings.Add("checked", bs, "MasterRolls");
            RAD_ROLLO_CORTADO.DataBindings.Add("checked", bs, "rollo_cortado");
            RAD_RESMAS.DataBindings.Add("checked", bs, "Resmas");
            RAD_GRAPHICS.DataBindings.Add("checked", bs, "graphics");
            ContadorRegistros();
            EditMode              = 0;
            BOT_PRIMERO.Enabled   = true;
            BOT_SIGUIENTE.Enabled = true;
            BOT_ANTERIOR.Enabled  = true;
            BOT_ULTIMO.Enabled    = true;
            BOT_NUEVO.Enabled     = true;
            BOT_CANCELAR.Enabled  = false;
            BOT_GRABAR.Enabled    = false;
            BOT_MODIFICAR.Enabled = true;
            BOT_BUSCAR.Enabled    = true;
        }
Exemple #7
0
 private void AddRows()
 {
     bindingSource.AddNew();
     bindingSource.EndEdit();
 }