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(); } } }