Пример #1
0
 private void dgvMeterList_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0)
     {
         if (e.ColumnIndex == 12)
         {
             //DeleteForMeter
             if (!CheckingRoleManagementFeature("MeterEditOrDelete"))
             {
                 MessageBox.Show("Access Deined for this function.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             DialogResult result = MessageBox.Show(this, "Are you sure you want to delete?", "Delete", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
             if (result.Equals(DialogResult.OK))
             {
                 DataGridViewRow row = dgvMeterList.Rows[e.RowIndex];
                 meterID = Convert.ToString(row.Cells[0].Value);
                 Meter meterObj = (Meter)row.DataBoundItem;
                 meterObj = (from m in mbsEntities.Meters where m.MeterID == meterObj.MeterID select m).FirstOrDefault();
                 var customerCount = (from c in meterObj.Customers where c.Active == true select c).Count();
                 if (customerCount > 0)
                 {
                     MessageBox.Show("This Meter No cannot deleted! It is in used.", "Cannot Delete", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     return;
                 }
                 dgvMeterList.DataSource = "";
                 Meter meter = (from m in mbsEntities.Meters where m.MeterID == meterID select m).FirstOrDefault();
                 meter.Active        = false;
                 meter.DeletedUserID = UserID;
                 meter.DeletedDate   = DateTime.Now;
                 meterController.DeletedMeter(meter);
                 dgvMeterList.DataSource = (from m in mbsEntities.Meters where m.Active == true orderby m.MeterNo descending select m).ToList();
                 MessageBox.Show(this, "Successfully Deleted!", "Delete Complete", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 FormRefresh();
             }
         }
         else if (e.ColumnIndex == 10)
         {
             if (!CheckingRoleManagementFeature("MeterView"))
             {
                 MessageBox.Show("Access Deined for this function.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             DetailMeterfrm detailmeterForm = new DetailMeterfrm();
             detailmeterForm.meterID = Convert.ToString(dgvMeterList.Rows[e.RowIndex].Cells[0].Value);
             detailmeterForm.ShowDialog();
         }
         else if (e.ColumnIndex == 11)
         {
             //EditMeter
             if (!CheckingRoleManagementFeature("MeterEditOrDelete"))
             {
                 MessageBox.Show("Access Deined for this function.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             MeterFrm meterForm = new MeterFrm();
             meterForm.isEdit  = true;
             meterForm.Text    = "Edit Meter";
             meterForm.meterID = Convert.ToString(dgvMeterList.Rows[e.RowIndex].Cells[0].Value);
             meterForm.UserID  = UserID;
             meterForm.ShowDialog();
             this.Close();
         }
         //remove funciton here
         else if (e.ColumnIndex == 13)
         {
             if (!CheckingRoleManagementFeature("MeterEditOrDelete"))
             {
                 MessageBox.Show("Access Deined for this function.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             DataGridViewRow row    = dgvMeterList.Rows[e.RowIndex];
             Meter           _meter = (Meter)row.DataBoundItem;
             if (rdounregistermeter.Checked || rdoremovedmeter.Checked)
             {
                 MessageBox.Show("Unregister meter list or removed meter list can't remove", "Access deined");
                 return;
             }
             MeterRemoveUI meterremoveui = new MeterRemoveUI();
             meterremoveui.meter = _meter;
             meterremoveui.Show();
         }
     }
 }