public virtual void Delete()
        {
            MvvmDbContext db = null;

            try
            {
                db = new MvvmDbContext();
                if (!string.IsNullOrEmpty(EventArgument))
                {
                    Entity =
                        db.Products.Find(Convert.ToInt32(EventArgument));
                    db.Products.Remove(Entity);
                    db.SaveChanges();
                    PageMode = PDSAPageModeEnum.List;
                }
            }
            catch (Exception ex)
            {
                Publish(ex, "Error Deleting Product With ID="
                        + Entity.ProductName);
            }
        }
        protected void Update()
        {
            MvvmDbContext db = null;

            try
            {
                db = new MvvmDbContext();
                // Do editing here
                db.Entry(Entity).State = EntityState.Modified;
                db.SaveChanges();
                PageMode = PDSAPageModeEnum.List;
            }
            catch (DbEntityValidationException ex)
            {
                IsValid = false;
                ValidationErrorsToMessages(ex);
            }
            catch (Exception ex)
            {
                Publish(ex, "Error Updating Product With ID="
                        + Entity.ProductId.ToString());
            }
        }
        protected void Insert()
        {
            MvvmDbContext db = null;

            try
            {
                db = new MvvmDbContext();
                // Do editing here
                db.Products.Add(Entity);
                db.SaveChanges();
                PageMode = PDSAPageModeEnum.List;
            }
            catch (DbEntityValidationException ex)
            {
                IsValid = false;
                ValidationErrorsToMessages(ex);
            }
            catch (Exception ex)
            {
                Publish(ex, "Error Inserting New Product: '"
                        + Entity.ProductName + "'");
            }
        }