示例#1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (checkValidation())
            {
                if (isEdit)
                {
                    int   editMeterCount = 0; int editmeterBoxNoCount = 0;
                    Meter updateMeter = (from m in mbmsEntities.Meters where m.MeterID == meterID select m).FirstOrDefault();

                    if (cboMeterSequence.Text != updateMeter.MeterBoxSequence)
                    {
                        string meterboxId = cboMeterBoxCode.SelectedValue.ToString();
                        editmeterBoxNoCount = (from m in mbmsEntities.Meters where m.MeterBoxSequence == cboMeterSequence.Text && m.MeterBoxID == meterboxId && m.Active == true select m).ToList().Count;
                    }
                    if (editmeterBoxNoCount > 0)
                    {
                        tooltip.SetToolTip(cboMeterSequence, "Error");
                        tooltip.Show("MeterBox Sequence No is already used!", cboMeterSequence);
                        return;
                    }
                    if (txtMeterNo.Text != updateMeter.MeterNo)
                    {
                        editMeterCount = (from m in mbmsEntities.Meters where m.MeterNo == txtMeterNo.Text && m.Active == true select m).ToList().Count;
                    }

                    if (editMeterCount > 0)
                    {
                        tooltip.SetToolTip(txtMeterNo, "Error");
                        tooltip.Show("Meter No is already exist!", txtMeterNo);
                        return;
                    }
                    updateMeter.MeterNo       = txtMeterNo.Text;
                    updateMeter.Model         = txtMeterModel.Text;
                    updateMeter.InstalledDate = dtpInstallDate.Value.Date;
                    updateMeter.Losses        = Convert.ToInt32(txtLosses.Text);
                    updateMeter.Multiplier    = Convert.ToInt32(txtMultiplier.Text);
                    updateMeter.HP            = Convert.ToInt32(txtHp.Text);
                    updateMeter.Voltage       = Convert.ToInt32(txtVoltage.Text);
                    updateMeter.AMP           = txtAMP.Text;
                    updateMeter.Standard      = Convert.ToInt32(txtStandard.Text);
                    if (rdoEnable.Checked == true)
                    {
                        updateMeter.Status = "Enable";
                    }
                    else
                    {
                        updateMeter.Status = "Disable";
                    }
                    updateMeter.Phrase           = txtPhrase.Text;
                    updateMeter.Wire             = txtWire.Text;
                    updateMeter.BasicCurrent     = txtBasicCurrent.Text;
                    updateMeter.Constant         = txtConstant.Text;
                    updateMeter.AvailableYear    = Convert.ToInt32(txtAvailableYear.Text);
                    updateMeter.Class            = txtClass.Text;
                    updateMeter.iMax             = Convert.ToInt32(txtiMax.Text);
                    updateMeter.KVA              = Convert.ToInt32(txtKVA.Text);
                    updateMeter.ManufactureBy    = txtManufacture.Text;
                    updateMeter.Frequency        = Convert.ToInt32(txtFrequency.Text);
                    updateMeter.MeterBoxID       = cboMeterBoxCode.SelectedValue.ToString();
                    updateMeter.MeterBoxSequence = cboMeterSequence.Text;
                    updateMeter.MeterTypeID      = cboMeterTypeCode.SelectedValue.ToString();
                    updateMeter.UpdatedUserID    = UserID;
                    updateMeter.UpdatedDate      = DateTime.Now;
                    meterController.UpdateMeter(updateMeter);
                    MessageBox.Show("Successfully updated Meter!", "Update");
                    Clear();
                    MeterListfrm meterListForm = new MeterListfrm();
                    meterListForm.Show();
                    this.Close();
                }
                else
                {
                    Meter  meter = new Meter();
                    int    meterNoCount = 0; int meterBoxNoCount = 0;
                    string meterboxId = cboMeterBoxCode.SelectedValue.ToString();
                    meterBoxNoCount = (from m in mbmsEntities.Meters where m.MeterBoxSequence == cboMeterSequence.Text && m.MeterBoxID == meterboxId && m.Active == true select m).ToList().Count;

                    if (meterBoxNoCount > 0)
                    {
                        tooltip.SetToolTip(cboMeterSequence, "Error");
                        tooltip.Show("MeterBox Sequence No is already used!", cboMeterSequence);
                        return;
                    }
                    meterNoCount = (from m in mbmsEntities.Meters where m.MeterNo == txtMeterNo.Text && m.Active == true select m).ToList().Count;

                    if (meterNoCount > 0)
                    {
                        tooltip.SetToolTip(txtMeterNo, "Error");
                        tooltip.Show("Meter No is already exist!", txtMeterNo);
                        return;
                    }
                    meter.MeterID       = Guid.NewGuid().ToString();
                    meter.MeterNo       = txtMeterNo.Text;
                    meter.Model         = txtMeterModel.Text;
                    meter.InstalledDate = dtpInstallDate.Value.Date;
                    meter.Losses        = Convert.ToInt32(txtLosses.Text);
                    meter.Multiplier    = Convert.ToInt32(txtMultiplier.Text);
                    meter.HP            = Convert.ToInt32(txtHp.Text == "" ? "0" : txtHp.Text);
                    meter.Voltage       = Convert.ToInt32(txtVoltage.Text);
                    meter.AMP           = txtAMP.Text == ""?"0":txtAMP.Text;
                    meter.Standard      = Convert.ToInt32(txtStandard.Text == ""?"0" :txtStandard.Text);
                    if (rdoEnable.Checked == true)
                    {
                        meter.Status = "Enable";
                    }
                    else
                    {
                        meter.Status = "Disable";
                    }
                    meter.Phrase        = txtPhrase.Text;
                    meter.Wire          = txtWire.Text;
                    meter.BasicCurrent  = txtBasicCurrent.Text;
                    meter.Constant      = txtConstant.Text == ""?"0":txtConstant.Text;
                    meter.AvailableYear = Convert.ToInt32(txtAvailableYear.Text);
                    meter.Class         = txtClass.Text == "" ?"0" :txtClass.Text;

                    meter.iMax             = Convert.ToInt32(txtiMax.Text);
                    meter.KVA              = Convert.ToInt32(txtKVA.Text == ""?"0" :txtKVA.Text);
                    meter.ManufactureBy    = txtManufacture.Text;
                    meter.Frequency        = Convert.ToInt32(txtFrequency.Text == "" ? "0" :txtFrequency.Text);
                    meter.MeterBoxID       = cboMeterBoxCode.SelectedValue.ToString();
                    meter.MeterBoxSequence = cboMeterSequence.Text;
                    meter.MeterTypeID      = cboMeterTypeCode.SelectedValue.ToString();
                    meter.Active           = true;
                    meter.CreatedUserID    = UserID;
                    meter.CreatedDate      = DateTime.Now;
                    meterController.Save(meter);
                    MessageBox.Show("Successfully registered Meter! Please check it in 'Meter List'.", "Save Success");
                    Clear();
                }
            }
        }