private void LoadData() { var Id = dgvList.Id; if (Id != 0) { try { var m = CategoryFacade.Select(Id); txtCode.Text = m.Code; txtDesc.Text = m.Description; txtNote.Text = m.Note; SetStatus(m.Status); LockControls(); IsDirty = false; SessionLogFacade.Log(Type.Priority_Information, Type.Module_IC_Category, Type.Log_View, "View. Id=" + m.Id + ", Code=" + m.Code); } catch (Exception ex) { MessageFacade.Show(MessageFacade.error_load_record + "\r\n" + ex.Message, LabelFacade.sy_category, MessageBoxButtons.OK, MessageBoxIcon.Error); SYS.ErrorLogFacade.Log(ex); } } else // when delete all => disable buttons and clear all controls { if (dgvList.RowCount == 0) { btnUnlock.Enabled = false; ClearAllBoxes(); } } }
private void btnExport_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; Application.DoEvents(); CategoryFacade.Export(); Cursor = Cursors.Default; }
private bool IsValidated() { var sMsg = new StringBuilder(); Control cFocus = null; string Code = txtCode.Text.Trim(); if (Code.Length == 0) { sMsg.AppendLine(LabelFacade.sy_msg_prefix + MessageFacade.code_not_empty); cFocus = txtCode; } else if (CategoryFacade.Exists(Code, Id)) { sMsg.AppendLine(LabelFacade.sy_msg_prefix + MessageFacade.code_already_exists); cFocus = txtCode; } if (sMsg.Length > 0) { MessageFacade.Show(this, ref fMsg, sMsg.ToString(), LabelFacade.sy_save); //fMsg.Show(sMsg.ToString(), LabelFacade.sy_save, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); cFocus.Focus(); return(false); } return(true); }
private void RefreshGrid(long seq = 0) { Cursor = Cursors.WaitCursor; //IsIgnore = true; if (dgvList.SelectedRows.Count > 0) { RowIndex = dgvList.SelectedRows[0].Index; } try { dgvList.DataSource = CategoryFacade.GetDataTable(txtFind.Text, GetStatus()); } catch (Exception ex) { Cursor = Cursors.Default; MessageFacade.Show(MessageFacade.error_retrieve_data + "\r\n" + ex.Message, LabelFacade.sy_category, MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogFacade.Log(ex); return; } if (dgvList.RowCount > 0) { if (seq == 0) { if (RowIndex >= dgvList.RowCount) { RowIndex = dgvList.RowCount - 1; } dgvList.CurrentCell = dgvList[1, RowIndex]; } else { foreach (DataGridViewRow row in dgvList.Rows) { if ((long)row.Cells[0].Value == seq) { Id = (int)seq; dgvList.CurrentCell = dgvList[1, row.Index]; break; } } } } else { btnCopy.Enabled = false; btnUnlock.Enabled = false; btnActive.Enabled = false; btnDelete.Enabled = false; ClearAllBoxes(); } IsIgnore = false; //LoadData(); Cursor = Cursors.Default; }
private void txtCode_Leave(object sender, EventArgs e) { // Check if entered code already exists if (txtCode.ReadOnly) { return; } if (CategoryFacade.Exists(txtCode.Text.Trim())) { MessageFacade.Show(this, ref fMsg, LabelFacade.sy_msg_prefix + MessageFacade.code_already_exists, LabelFacade.sy_category); } }
private void btnDelete_Click(object sender, EventArgs e) { try { var Id = dgvList.Id; if (Id == 0) { return; } // If referenced //todo: check if exist in ic_item // If locked var lInfo = CategoryFacade.GetLock(Id); string msg = ""; if (lInfo.Locked) { msg = string.Format(MessageFacade.delete_locked, lInfo.Lock_By, lInfo.Lock_At); if (!Privilege.CanAccess(Type.Function_IC_Category, "O")) { MessageFacade.Show(msg, LabelFacade.sy_delete, MessageBoxButtons.OK, MessageBoxIcon.Information); SessionLogFacade.Log(Type.Priority_Caution, Type.Module_IC_Category, Type.Log_Delete, "Cannot delete. Currently locked by '" + lInfo.Lock_By + "' since '" + lInfo.Lock_At + "' . Id=" + dgvList.Id + ", Code=" + txtCode.Text); return; } } // Delete msg = MessageFacade.delete_confirmation; if (lInfo.Locked) { msg = string.Format(MessageFacade.lock_currently, lInfo.Lock_By, lInfo.Lock_At) + "'\n" + msg; } if (MessageFacade.Show(msg, LabelFacade.sy_delete, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.No) { return; } try { CategoryFacade.SetStatus(Id, Type.RecordStatus_Deleted); } catch (Exception ex) { MessageFacade.Show(MessageFacade.error_delete + "\r\n" + ex.Message, LabelFacade.sy_delete, MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogFacade.Log(ex); } RefreshGrid(); // log SessionLogFacade.Log(Type.Priority_Warning, Type.Module_IC_Category, Type.Log_Delete, "Deleted. Id=" + dgvList.Id + ", Code=" + txtCode.Text); } catch (Exception ex) { MessageFacade.Show(MessageFacade.error_delete + "\r\n" + ex.Message, LabelFacade.sy_delete, MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogFacade.Log(ex); } }
private bool Save() { if (!IsValidated()) { return(false); } Cursor = Cursors.WaitCursor; var m = new Category(); var log = new SessionLog { Module = Type.Module_IC_Category }; m.Id = Id; m.Code = txtCode.Text.Trim(); m.Description = txtDesc.Text; m.Note = txtNote.Text; if (m.Id == 0) { log.Priority = Type.Priority_Information; log.Type = Type.Log_Insert; } else { log.Priority = Type.Priority_Caution; log.Type = Type.Log_Update; } try { m.Id = CategoryFacade.Save(m); } catch (Exception ex) { MessageFacade.Show(MessageFacade.error_save + "\r\n" + ex.Message, LabelFacade.sy_save, MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogFacade.Log(ex); } if (dgvList.RowCount > 0) { RowIndex = dgvList.CurrentRow.Index; } RefreshGrid(m.Id); LockControls(); Cursor = Cursors.Default; log.Message = "Saved. Id=" + m.Id + ", Code=" + txtCode.Text; SessionLogFacade.Log(log); IsDirty = false; return(true); }
private void btnActive_Click(object sender, EventArgs e) { var Id = dgvList.Id; if (Id == 0) { return; } string status = btnActive.Text == LabelFacade.sy_button_inactive ? Type.RecordStatus_InActive : Type.RecordStatus_Active; // If referenced //todo: check if already used in ic_item //If locked var lInfo = CategoryFacade.GetLock(Id); if (lInfo.Locked) { string msg = string.Format(MessageFacade.lock_currently, lInfo.Lock_By, lInfo.Lock_At); if (!Privilege.CanAccess(Type.Function_IC_Category, "O")) { MessageFacade.Show(msg, MessageFacade.active_inactive, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if (MessageFacade.Show(msg + "\r\n" + MessageFacade.proceed_confirmation, MessageFacade.active_inactive, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.No) { return; } } try { CategoryFacade.SetStatus(Id, status); } catch (Exception ex) { MessageFacade.Show(MessageFacade.error_active_inactive + ex.Message, MessageFacade.active_inactive, MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogFacade.Log(ex); } RefreshGrid(); SessionLogFacade.Log(Type.Priority_Caution, Type.Module_IC_Category, status == Type.RecordStatus_InActive ? Type.Log_Inactive : Type.Log_Active, "Id=" + dgvList.Id + ", Code=" + txtCode.Text); }
private void btnUnlock_Click(object sender, EventArgs e) { if (!Privilege.CanAccess(Type.Function_IC_Category, Type.Privilege_Update)) { MessageFacade.Show(MessageFacade.privilege_no_access, LabelFacade.sy_button_unlock, MessageBoxButtons.OK, MessageBoxIcon.Information); SessionLogFacade.Log(Type.Priority_Information, Type.Module_IC_Category, Type.Log_NoAccess, "Copy: No access"); return; } if (IsExpand) { picExpand_Click(sender, e); } Id = dgvList.Id; // Cancel if (btnUnlock.Text == LabelFacade.sy_button_cancel) { if (IsDirty) { var result = MessageFacade.Show(MessageFacade.save_confirmation, LabelFacade.sy_button_cancel, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (result == System.Windows.Forms.DialogResult.Yes) // Save then close { btnSave_Click(null, null); } else if (result == System.Windows.Forms.DialogResult.No) { LoadData(); // Load original back if changes (dirty) } else if (result == System.Windows.Forms.DialogResult.Cancel) { return; } } LockControls(true); dgvList.Focus(); try { CategoryFacade.ReleaseLock(dgvList.Id); } catch (Exception ex) { MessageFacade.Show(MessageFacade.error_unlock + "\r\n" + ex.Message, LabelFacade.sy_unlock, MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogFacade.Log(ex); return; } if (dgvList.CurrentRow != null && !dgvList.CurrentRow.Selected) { dgvList.CurrentRow.Selected = true; } SessionLogFacade.Log(Type.Priority_Information, Type.Module_IC_Category, Type.Log_Unlock, "Unlock cancel. Id=" + dgvList.Id + ", Code=" + txtCode.Text); btnUnlock.ToolTipText = "Unlock (Ctrl+L)"; IsDirty = false; return; } // Unlock if (Id == 0) { return; } try { var lInfo = CategoryFacade.GetLock(Id); if (lInfo.Locked) // Check if record is locked { string msg = string.Format(MessageFacade.lock_currently, lInfo.Lock_By, lInfo.Lock_At); if (!Privilege.CanAccess(Type.Function_IC_Category, "O")) { MessageFacade.Show(msg, LabelFacade.sy_unlock, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if (MessageFacade.Show(msg + "\r\n" + MessageFacade.lock_override, LabelFacade.sy_unlock, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes) { SessionLogFacade.Log(Type.Priority_Caution, Type.Module_IC_Category, Type.Log_Lock, "Override lock. Id=" + dgvList.Id + ", Code=" + txtCode.Text); } else { return; } } txtDesc.SelectionStart = txtDesc.Text.Length; txtDesc.Focus(); LockControls(false); } catch (Exception ex) { MessageFacade.Show(MessageFacade.error_unlock + "\r\n" + ex.Message, LabelFacade.sy_unlock, MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogFacade.Log(ex); return; } try { CategoryFacade.Lock(dgvList.Id, txtCode.Text); } catch (Exception ex) { MessageFacade.Show(MessageFacade.error_lock + "\r\n" + ex.Message, LabelFacade.sy_lock, MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogFacade.Log(ex); return; } SessionLogFacade.Log(Type.Priority_Information, Type.Module_IC_Category, Type.Log_Lock, "Locked. Id=" + dgvList.Id + ", Code=" + txtCode.Text); btnUnlock.ToolTipText = "Cancel (Esc or Ctrl+L)"; }