Example #1
0
        private void SetSettings()
        {
            try
            {
                SetIconDisplayType(ConfigFacade.sy_toolbar_icon_display_type);
                splitContainer1.SplitterDistance = ConfigFacade.ic_unit_measure_splitter_distance;

                SetCodeCasing();
                txtCode.MaxLength = ConfigFacade.sy_code_max_length;
                var lo = ConfigFacade.ic_unit_measure_location;
                if (lo != new System.Drawing.Point(-1, -1))
                {
                    Location = lo;
                }
                var si = ConfigFacade.ic_unit_measure_size;
                if (si != new System.Drawing.Size(-1, -1))
                {
                    Size = si;
                }
                WindowState = (FormWindowState)ConfigFacade.ic_unit_measure_window_state;
            }
            catch (Exception ex)
            {
                ErrorLogFacade.Log(ex, "Set settings");
            }
        }
Example #2
0
 private void RefreshGrid(long seq = 0)
 {
     Cursor = Cursors.WaitCursor;
     //IsIgnore = true;
     if (dgvList.SelectedRows.Count > 0)
     {
         RowIndex = dgvList.SelectedRows[0].Index;
     }
     try
     {
         dgvList.DataSource = UnitMeasureFacade.GetDataTable(txtFind.Text, GetStatus());
     }
     catch (Exception ex)
     {
         Cursor = Cursors.Default;
         MessageFacade.Show(MessageFacade.error_retrieve_data + "\r\n" + ex.Message, LabelFacade.sy_unit_measure, 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;
 }
Example #3
0
 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 = UnitMeasureFacade.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_Unit_Measure, "O"))
             {
                 MessageFacade.Show(msg, LabelFacade.sy_delete, MessageBoxButtons.OK, MessageBoxIcon.Information);
                 SessionLogFacade.Log(Type.Priority_Caution, Type.Module_IC_Unit_Measure, 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
         {
             UnitMeasureFacade.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_Unit_Measure, 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);
     }
 }
Example #4
0
        private bool Save()
        {
            if (!IsValidated())
            {
                return(false);
            }
            Cursor = Cursors.WaitCursor;
            var m   = new Account();
            var log = new SessionLog {
                Module = Type.Module_IC_Location
            };

            m.Id          = Id;
            m.Code        = txtCode.Text.Trim();
            m.Description = txtDesc.Text;
            m.Type        = cboNormalBalance.Text.Substring(0, 1);
            m.Address     = txtStructureCode.Text;
            m.Name        = txtStructureCodeDesc.Text;
            m.Phone       = txtGroup.Text;
            m.Fax         = txtFax.Text;
            m.Email       = txtEmail.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 = AccountFacade.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);
        }
Example #5
0
        private bool Save()
        {
            if (!IsValidated())
            {
                return(false);
            }
            Cursor = Cursors.WaitCursor;
            var m   = new UnitMeasure();
            var log = new SessionLog {
                Module = Type.Module_IC_Unit_Measure
            };

            m.Id             = Id;
            m.Code           = txtCode.Text.Trim();
            m.Default_Factor = double.Parse(txtFactor.Text);
            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 = UnitMeasureFacade.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);
        }
Example #6
0
        public static bool Exists(string Code, long Id = 0)
        {
            var sql     = SqlFacade.SqlExists(TableName, "id <> :id and status <> :status and code = :code");
            var bExists = false;

            try
            {
                bExists = SqlFacade.Connection.ExecuteScalar <bool>(sql, new { Id, Status = Type.RecordStatus_Deleted, Code });
            }
            catch (Exception ex)
            {
                MessageFacade.Show(MessageFacade.error_query + "\r\n" + ex.Message, LabelFacade.sy_location, MessageBoxButtons.OK, MessageBoxIcon.Error);
                ErrorLogFacade.Log(ex, "Exists");
            }
            return(bExists);
        }
Example #7
0
 private void frmUnitMeasureList_Load(object sender, EventArgs e)
 {
     Icon = Properties.Resources.Icon;
     try
     {
         dgvList.ShowLessColumns(true);
         SetSettings();
         SetLabels();
         SessionLogFacade.Log(Type.Priority_Information, Type.Module_IC_Unit_Measure, Type.Log_Open, "Opened");
         RefreshGrid();
         LoadData();
     }
     catch (Exception ex)
     {
         ErrorLogFacade.Log(ex, "Form_Load");
         MessageFacade.Show(MessageFacade.error_load_form + "\r\n" + ex.Message, LabelFacade.sy_unit_measure, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Example #8
0
        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 = UnitMeasureFacade.GetLock(Id);

            if (lInfo.Locked)
            {
                string msg = string.Format(MessageFacade.lock_currently, lInfo.Lock_By, lInfo.Lock_At);
                if (!Privilege.CanAccess(Type.Function_IC_Unit_Measure, "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
            {
                UnitMeasureFacade.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_Unit_Measure, status == Type.RecordStatus_InActive ? Type.Log_Inactive : Type.Log_Active, "Id=" + dgvList.Id + ", Code=" + txtCode.Text);
        }
Example #9
0
        private void btnUnlock_Click(object sender, EventArgs e)
        {
            if (!Privilege.CanAccess(Type.Function_IC_Unit_Measure, 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_Unit_Measure, 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
                {
                    UnitMeasureFacade.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_Unit_Measure, 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 = UnitMeasureFacade.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_Unit_Measure, "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_Unit_Measure, 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
            {
                UnitMeasureFacade.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_Unit_Measure, Type.Log_Lock, "Locked. Id=" + dgvList.Id + ", Code=" + txtCode.Text);
            btnUnlock.ToolTipText = "Cancel (Esc or Ctrl+L)";
        }
Example #10
0
        public static int ExportToCSV(string sql)
        {
            //sql = "COPY (" + sql + ") TO '" + path + "' DELIMITER '" + delimiter + "' CSV HEADER ENCODING 'UTF8';";
            //Connection.ExecuteNonQuery(sql);
            var result = 0;

            var sfd = new SaveFileDialog
            {
                CheckPathExists = true,
                OverwritePrompt = true,
                Filter          = "CSV File (*.csv)|*.csv|All Files (*.*)|*.*",
                Title           = "Export to CSV"
            };

            if (sfd.ShowDialog() != DialogResult.OK)
            {
                return(result);
            }
            var path     = sfd.FileName;
            var fileName = Path.GetFileName(path);

            var fNotification = new frmNotification(string.Format(MessageFacade.export_exporting, fileName));

            fNotification.Show();
            Application.DoEvents();

            StringBuilder sb = new StringBuilder();

            try
            {
                var dr = GetDataReader(sql);

                var sLine = "";
                if (!dr.HasRows)
                {
                    return(1);                          // No record
                }
                for (int i = 0; i < dr.FieldCount; i++) // Column headers
                {
                    sLine += dr.GetName(i);
                    if (i < dr.FieldCount - 1)
                    {
                        sLine += ConfigFacade.sy_export_delimiter;
                    }
                }
                sb.AppendLine(sLine);

                while (dr.Read())   // Rows
                {
                    sLine = "";
                    for (int i = 0; i < dr.FieldCount; i++)
                    {
                        sLine += "\"" + dr[i].ToString() + "\"";
                        if (i < dr.FieldCount - 1)
                        {
                            sLine += ConfigFacade.sy_export_delimiter;
                        }
                    }
                    sb.AppendLine(sLine);
                }
                dr.Close();
            }
            catch (Exception ex)
            {
                MessageFacade.Show(MessageFacade.error_export + "\r\n" + ex.Message, LabelFacade.sy_export, MessageBoxButtons.OK, MessageBoxIcon.Error);
                ErrorLogFacade.Log(ex);
                return(-1);
            }
            while (Util.IsFileLocked(path))   // Check if file is being used
            {
                if (MessageFacade.Show(string.Format(MessageFacade.file_being_used_try_again, fileName), LabelFacade.sy_export, MessageBoxButtons.RetryCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
                {
                    fNotification.Close();
                    return(0);
                }
                continue;
            }
            using (var sw = new StreamWriter(path, false, Encoding.UTF8))   // Write to file
            {
                sw.Write(sb);
            }
            fNotification.ShowMsg(string.Format(MessageFacade.export_opening, fileName));
            if (ConfigFacade.sy_export_open_file_after)
            {
                System.Diagnostics.Process.Start(path);                                           // Open file
            }
            fNotification.Close();
            return(result);
        }