Пример #1
0
        private void btnClass_Save_Click(object sender, EventArgs e)
        {
            ESPClass cls = new ESPClass(txtClassName.Text, txtClassTitle.Text);

            if (Mode == EditorMode.Edit)
            {
                cls.Id = long.Parse(txtClassId.Text);
            }

            if (!ValidateClass(cls))
            {
                txtClassName.Focus();
                return;
            }

            if (!SaveClass(cls))
            {
                return;
            }
            MessageBox.Show("Saved!", "Class information", MessageBoxButtons.OK, MessageBoxIcon.Information);

            Mode = EditorMode.None;
            btnClass_Save.Enabled = false;

            txtClassName.ReadOnly  = (Mode == EditorMode.None);
            txtClassTitle.ReadOnly = (Mode == EditorMode.None);

            LoadClasses();
            btnClass_New.Focus();
        }
Пример #2
0
        private void lbClasses_SelectedIndexChanged(object sender, EventArgs e)
        {
            Mode = EditorMode.None;
            btnClass_Save.Enabled = false;

            txtClassName.Text  = string.Empty;
            txtClassTitle.Text = string.Empty;
            txtClassId.Text    = "0";

            txtClassName.ReadOnly  = (Mode == EditorMode.None);
            txtClassTitle.ReadOnly = (Mode == EditorMode.None);

            if (null == lbClasses.SelectedItem)
            {
                return;
            }

            ESPClass selCat = lbClasses.SelectedItem as ESPClass;

            if (selCat == null)
            {
                return;
            }

            txtClassId.Text    = selCat.Id.ToString();
            txtClassName.Text  = selCat.Name;
            txtClassTitle.Text = selCat.Title;
        }
Пример #3
0
        private bool DeleteClass(ESPClass cls)
        {
            if (null == cls)
            {
                return(false);
            }

            try
            {
                var curClses = DB.ChangeTracker.Entries <ESPClass>();
                var curCls   = curClses.Where(e => e.Entity.Id == cls.Id).Select(e => e.Entity).FirstOrDefault();
                if (null != curCls)
                {
                    DB.Classes.Remove(curCls);
                    DB.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }

            return(true);
        }
Пример #4
0
 private bool SaveClass(ESPClass cls)
 {
     try
     {
         if (Mode == EditorMode.AddNew)
         {
             DB.Classes.Add(cls);
         }
         else
         {
             var curClses = DB.ChangeTracker.Entries <ESPClass>();
             var curCls   = curClses.Where(e => e.Entity.Id == cls.Id).Select(e => e.Entity).FirstOrDefault();
             if (null != curCls)
             {
                 curCls.Name  = curCls.Name;
                 curCls.Title = curCls.Title;
             }
         }
         DB.SaveChanges();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         return(false);
     }
     return(true);
 }
Пример #5
0
        private bool ValidateClass(ESPClass cls)
        {
            if ((cls == null) || (cls.Name == string.Empty) || cls.Title == string.Empty)
            {
                MessageBox.Show("Invalid information.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (Mode == EditorMode.AddNew)
            {
                var Classes = DB.Classes.Where(e => e.Name == cls.Name || e.Title == cls.Title).FirstOrDefault();
                if (null != Classes)
                {
                    MessageBox.Show("Already exist.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
            }

            return(true);
        }
Пример #6
0
        private void lbClasses_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.Delete:
            {
                if (null == lbClasses.SelectedItems)
                {
                    return;
                }

                bool bChanged = false;
                foreach (var obj in lbClasses.SelectedItems)
                {
                    ESPClass cls = obj as ESPClass;
                    if (DeleteClass(cls))
                    {
                        bChanged = true;
                    }
                }

                if (!bChanged)
                {
                    return;
                }

                Mode = EditorMode.None;
                btnClass_Save.Enabled = false;

                txtClassName.ReadOnly  = (Mode == EditorMode.None);
                txtClassTitle.ReadOnly = (Mode == EditorMode.None);

                LoadClasses();
            }
            break;

            default:
                break;
            }
        }