Example #1
0
        public void AddFormColumns(int id, string tblName)
        {
            var columns = context.SysColumns
                          .Where(sys => sys.obj_name == tblName)
                          .ToList();
            // var columns=context.SysColumns.Where(a=>tblName.Contains(a.obj_name)).ToList();
            // i will optimize this code later
            var fieldsetId = context.FieldSets.Where(i => i.PageId == id).Select(i => i.Id).FirstOrDefault();
            //  var fieldsetId = context.FieldSets.Where(i =>id.Contains(i.PageId)).Select(i => i.Id).ToList();

            var sectionId = context.Sections.Where(i => i.FieldSetId == fieldsetId).Select(i => i.Id).FirstOrDefault();

            // var sectionId = context.Sections.Where(i =>fieldsetId.Contains(i.FieldSetId)).Select(i => i.Id).ToList();

            foreach (SysColumns column in columns)
            {
                var formcolumn = new FormColumn
                {
                    ColumnName  = column.column_name,
                    ColumnOrder = (byte)column.column_order,
                    ColumnType  = column.data_type,
                    IsUnique    = false,
                    isVisible   = column.is_visible == 1,
                    Required    = column.is_required == 1,
                    MaxLength   = (column.max_length != null ? (short)column.max_length.Value : (short?)null),
                    Lg          = null,
                    Md          = null,
                    Max         = null,
                    Min         = null,
                    SectionId   = sectionId,
                };
                context.Set <FormColumn>().Add(formcolumn);
            }
        }
        public async Task <IActionResult> Edit(int id, [FromForm] FormColumn column)
        {
            if (id != column.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    column.Modified   = DateTime.Now;
                    column.ModifiedBy = "Brandon Roberts";
                    _context.Update(column);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ColumnExists(column.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["SectionId"]        = new SelectList(_context.FormSections.Include(x => x.FormNavigation), "Id", "FormSectionName", column.SectionId);
            ViewData["FormColumnTypeId"] = new SelectList(_context.FormColumnTypes, "Id", "Name", column.FormColumnTypeId);

            return(View(column));
        }
        public ActionResult DeleteFormColumn(int id)
        {
            var datasource = new DataSource <FormColumnViewModel>();

            if (ModelState.IsValid)
            {
                var formcolumn = new FormColumn
                {
                    Id = id
                };
                _hrUnitOfWork.PageEditorRepository.Remove(formcolumn);


                datasource.Errors = SaveChanges(Language);
            }

            if (datasource.Errors.Count() > 0)
            {
                return(Json(datasource));
            }
            else
            {
                return(Json("OK"));
            }
        }
Example #4
0
 public void Remove(FormColumn formcolumn)
 {
     if (Context.Entry(formcolumn).State == EntityState.Detached)
     {
         context.FormsColumns.Attach(formcolumn);
     }
     context.FormsColumns.Remove(formcolumn);
 }
        public void Remove(FormColumn column)
        {
            if (!Row.Columns.Contains(column))
            {
                return;
            }

            Row.Columns.Remove(column);
        }
Example #6
0
        private void toolStripButtonStyle_Click(object sender, EventArgs e)
        {
            FormColumn dlg = new FormColumn();

            dlg.dgvMainSet = dgvMain;
            dlg.ShowDialog();

            MixFunc.DataGridViewHelper.SaveStyle(dgvMain, "酒菜设置");
        }
        public void Add(FormColumn column)
        {
            if (column == null)
            {
                return;
            }

            Row.Columns.Add(column);
            Load();
        }
        public async Task <IActionResult> Create([FromForm] FormColumn column)
        {
            if (ModelState.IsValid)
            {
                column.Modified   = DateTime.Now;
                column.ModifiedBy = "Brandon Roberts";
                column.CreatedBy  = "Brandon Roberts";
                column.IsActive   = true;
                _context.Add(column);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["SectionId"]        = new SelectList(_context.FormSections.Include(x => x.FormNavigation), "Id", "FormSectionName", column.SectionId);
            ViewData["FormColumnTypeId"] = new SelectList(_context.FormColumnTypes, "Id", "Name", column.FormColumnTypeId);
            return(View(column));
        }
Example #9
0
        private void toolStripButtonStyle_Click(object sender, EventArgs e)
        {
            string ClassifyName = "";

            if (tabControlList.SelectedTab != null)
            {
                ClassifyName = tabControlList.SelectedTab.Text;
            }

            if (string.IsNullOrEmpty(ClassifyName))
            {
                return;
            }

            FormColumn dlg = new FormColumn();

            dlg.dgvMainSet = dgvMain;
            dlg.ShowDialog();

            MixFunc.DataGridViewHelper.SaveStyle(dgvMain, ClassifyName);
        }
Example #10
0
        private void toolStripMenuItemTreeViewAdd_Click(object sender, EventArgs e)
        {
            Refresh();
            treeList.BeginUpdate();

            Node treeListNode = treeList.SelectedNode;

            Type type = treeListNode.Tag.GetType();

            if (type == typeof (Table[]) ||
                type == typeof (View[]) ||
                type == typeof (StoredProcedure[]))
            {
                Model.Database parent = (Model.Database) treeListNode.Parent.Tag;
                FormScriptObject form = new FormScriptObject((ScriptObject[]) treeListNode.Tag, parent);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    parent.AddScriptObject(form.ScriptObject);

                    Node newTreeListNode = AddNode(treeListNode, "", form.ScriptObject, Images.GreenBullet, true,
                                                                         form.ScriptObject.Enabled);
                    GetTreeListNodeText(form.ScriptObject, newTreeListNode);
                    SetupNewTreeListNode(newTreeListNode, form.ScriptObject);

                    if (type == typeof (Table[]))
                    {
                        treeListNode.Tag = parent.Tables;
                    }
                    if (type == typeof (View[]))
                    {
                        treeListNode.Tag = parent.Views;
                    }
                    if (type == typeof (StoredProcedure[]))
                    {
                        treeListNode.Tag = parent.StoredProcedures;
                    }
                    ProcessTreeValidity(treeList.Nodes);
                    Interfaces.Events.SetCursor(Cursors.Default);
                }
            }
            else if (type == typeof (Column[]))
            {
                ScriptObject parent = (ScriptObject) treeListNode.Parent.Tag;
                FormColumn form = new FormColumn(parent);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    parent.AddColumn(form.Column);

                    Node newTreeListNode = AddNode(treeListNode, "", form.Column, Images.GreenBullet, true,
                                                                         form.Column.Enabled);
                    GetTreeListNodeText(form.Column, newTreeListNode);

                    treeListNode.Tag = parent.Columns;
                    ProcessTreeValidity(treeList.Nodes);
                    Interfaces.Events.SetCursor(Cursors.Default);
                }
            }
            else if (type == typeof(Lookup[]))
            {
                Model.Database database = (Model.Database)treeListNode.Parent.Tag;
                FormLookup form = new FormLookup(database);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    Node newTreeListNode = AddLookupNode(treeListNode, form.Lookup, Images.GreenBullet);
                    treeListNode.Tag = database.Lookups;
                    Interfaces.Events.SetCursor(Cursors.Default);
                    treeList.SelectNode(newTreeListNode, eTreeAction.Code);
                }
            }
            else if (type == typeof (OneToOneRelationship[]) ||
                     type == typeof (OneToManyRelationship[]) ||
                     type == typeof (ManyToOneRelationship[]) ||
                     type == typeof (ManyToManyRelationship[]))
            {
                ScriptObject parent = (ScriptObject) treeListNode.Parent.Parent.Tag;

                Type relationshipType = null;
                if (type == typeof (OneToOneRelationship[]))
                {
                    relationshipType = typeof (OneToOneRelationship);
                }

                if (type == typeof (ManyToOneRelationship[]))
                {
                    relationshipType = typeof (ManyToOneRelationship);
                }

                if (type == typeof (OneToManyRelationship[]))
                {
                    relationshipType = typeof (OneToManyRelationship);
                }

                if (type == typeof (ManyToManyRelationship[]))
                {
                    relationshipType = typeof (ManyToManyRelationship);
                }
                FormRelationship form = new FormRelationship(relationshipType, (ScriptObject) treeListNode.Parent.Parent.Tag,
                                                             ProviderInfo.TheBllDatabase.EnabledScriptObjects);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    ScriptObject primaryScriptObject = form.PrimaryRelationship.Parent;
                    primaryScriptObject.AddRelationship(form.PrimaryRelationship);

                    ScriptObject foreignScriptObject = form.ForeignRelationship.Parent;
                    foreignScriptObject.AddRelationship(form.ForeignRelationship);

                    Node newTreeListNode = AddNode(treeListNode, "", form.PrimaryRelationship, Images.GreenBullet,
                                                                         true, form.PrimaryRelationship.Enabled);
                    GetTreeListNodeText(form.PrimaryRelationship, newTreeListNode);

                    if (type == typeof (OneToOneRelationship[]))
                    {
                        treeListNode.Tag = parent.OneToOneRelationships;
                    }

                    if (type == typeof (ManyToOneRelationship[]))
                    {
                        treeListNode.Tag = parent.ManyToOneRelationships;
                    }

                    if (type == typeof (OneToManyRelationship[]))
                    {
                        treeListNode.Tag = parent.OneToManyRelationships;
                    }

                    if (type == typeof (ManyToManyRelationship[]))
                    {
                        treeListNode.Tag = parent.ManyToManyRelationships;
                    }

                    LoadTreeListNode(foreignScriptObject);
                    ProcessTreeValidity(treeList.Nodes);
                    Interfaces.Events.SetCursor(Cursors.Default);
                }
                if (form.FilterWasCreated)
                {
                    LoadTreeView();
                }
            }
            else if (type == typeof (Filter[]))
            {
                Model.Database database = (Model.Database) treeListNode.Parent.Parent.Parent.Tag;
                ScriptObject parent = (ScriptObject) treeListNode.Parent.Tag;

                FormFilter2 form;

                // Stored Procedure Filters can only be created from other Stored Procedures (Enabled or Disabled)
                if (parent.GetType() == typeof (StoredProcedure))
                {
                    form = new FormFilter2(ParentForm, parent);
                }
                else
                {
                    form = new FormFilter2(ParentForm, parent);
                }
                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    parent.AddFilter(form.TheFilter);

                    Node newTreeListNode = AddNode(treeListNode, "", form.TheFilter, Images.GreenBullet, true,
                                                                         form.TheFilter.Enabled);
                    GetTreeListNodeText(form.TheFilter, newTreeListNode);

                    treeListNode.Tag = parent.Filters;

                    ProcessTreeValidity(treeList.Nodes);
                    Interfaces.Events.SetCursor(Cursors.Default);
                }
            }
            else if (type == typeof (Index[]))
            {
                Table parent = (Table) treeListNode.Parent.Tag;
                FormIndex form = new FormIndex((Table) treeListNode.Parent.Tag);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    parent.AddIndex(form.Index);

                    Node newTreeListNode = AddNode(treeListNode, "", form.Index, Images.GreenBullet, true,
                                                                         form.Index.Enabled);
                    GetTreeListNodeText(form.Index, newTreeListNode);

                    treeListNode.Tag = parent.Indexes;

                    ProcessTreeValidity(treeList.Nodes);
                    Interfaces.Events.SetCursor(Cursors.Default);
                }
            }
            else if (type == typeof (Key[]))
            {
                Table parent = (Table) treeListNode.Parent.Tag;
                FormKey form = new FormKey((Table) treeListNode.Parent.Tag);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    parent.AddKey(form.Key);

                    Node newTreeListNode = AddNode(treeListNode, "", form.Key, Images.GreenBullet, true,
                                                                         form.Key.Enabled);
                    GetTreeListNodeText(form.Key, newTreeListNode);

                    treeListNode.Tag = parent.Keys;

                    ProcessTreeValidity(treeList.Nodes);
                    Interfaces.Events.SetCursor(Cursors.Default);
                }
            }
            else if (type == typeof (List<Association>))
            {
                ScriptObject parent = (ScriptObject) treeListNode.Parent.Tag;

                frmAssociationWizard.Association = new Association((ScriptObject) treeListNode.Parent.Tag);
                frmAssociationWizard.Association.Enabled = true;
                frmAssociationWizard form = new frmAssociationWizard();

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    parent.AddAssociation(frmAssociationWizard.Association);

                    Node newTreeListNode = AddNode(treeListNode,
                                                                         frmAssociationWizard.Association.Name,
                                                                         frmAssociationWizard.Association,
                                                                         Images.GreenBullet, true,
                                                                         frmAssociationWizard.Association.Enabled);
                    treeListNode.Tag = parent.Associations;

                    ProcessTreeValidity(treeList.Nodes);
                    Interfaces.Events.SetCursor(Cursors.Default);
                    treeListNode.Expanded = true;
                    treeList.SelectedNode = newTreeListNode;
                }
            }
            treeList.EndUpdate();
        }
        public ActionResult UpdateFormColumn(IEnumerable <FormColumnViewModel> models, IEnumerable <OptionsViewModel> options)
        {
            var datasource = new DataSource <FormColumnViewModel>();

            datasource.Data  = models;
            datasource.Total = models.Count();

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    var errors = _hrUnitOfWork.PageEditorRepository.Check(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "FormColumns",
                        TableName    = "FormColumns",
                        ParentColumn = "SectionId",
                        Columns      = Models.Utils.GetModifiedRows(ModelState.Where(a => a.Key.Contains("models"))),
                        Culture      = Language
                    });

                    if (errors.Count() > 0)
                    {
                        datasource.Errors = errors;
                        return(Json(datasource));
                    }
                }


                foreach (FormColumnViewModel col in models)
                {
                    var formcolumn = new FormColumn
                    {
                        Id            = col.Id,
                        SectionId     = col.TempId,
                        ColumnName    = col.name,
                        ColumnOrder   = col.order,
                        ColumnType    = col.ColumnType,
                        InputType     = col.type,
                        IsUnique      = col.isunique,
                        isVisible     = col.isVisible,
                        Max           = col.max,
                        Min           = col.min,
                        Lg            = col.lg,
                        MinLength     = col.minLength,
                        MaxLength     = col.maxLength,
                        Md            = col.md,
                        Pattern       = col.pattern,
                        PlaceHolder   = col.placeholder,
                        OrgInputType  = col.OrgInputType,
                        Required      = col.required,
                        Sm            = col.sm,
                        UniqueColumns = col.UniqueColumns,
                        HtmlAttribute = col.HtmlAttribute,
                        CodeName      = col.CodeName,
                        DefaultValue  = col.DefaultValue,
                        Formula       = col.Formula
                    };

                    _hrUnitOfWork.PageEditorRepository.Attach(formcolumn);
                    _hrUnitOfWork.PageEditorRepository.Entry(formcolumn).State = EntityState.Modified;
                }

                datasource.Errors = SaveChanges(Language);
            }
            else
            {
                datasource.Errors = Models.Utils.ParseErrors(ModelState.Values);
            }

            if (datasource.Errors.Count() > 0)
            {
                return(Json(datasource));
            }
            else
            {
                var    sectionId = models.FirstOrDefault().SectionId;
                var    page      = _hrUnitOfWork.Repository <Section>().Where(a => a.Id == sectionId).Select(a => new { companyid = a.FieldSet.Page.CompanyId, objectname = a.FieldSet.Page.ObjectName, version = a.FieldSet.Page.Version }).FirstOrDefault();
                string key       = page.companyid + page.objectname + page.version + Language;
                if (_hrUnitOfWork.PagesRepository.CacheManager.IsSet(key))
                {
                    _hrUnitOfWork.PagesRepository.CacheManager.Remove(key);
                }

                return(Json(datasource.Data));
            }
        }
Example #12
0
        private void toolStripMenuItemTreeViewEdit_Click(object sender, EventArgs e)
        {
            TreeListNode treeListNode = treeList.FocusedNode;
            Type type = treeListNode.Tag.GetType();

            if (type == typeof(Slyce.TemplateInfo.Option))
            {
                Slyce.ITemplate.IOption option = (Slyce.ITemplate.IOption)treeListNode.Tag;
                Slyce.ITemplate.IUserOption userOption = null;
                object parentObject = treeListNode.ParentNode.ParentNode.Tag;
                Type parentType = parentObject.GetType();

                if (parentType == typeof(ArchAngel.Providers.Database.Model.Table) ||
                parentType == typeof(ArchAngel.Providers.Database.Model.View) ||
                parentType == typeof(ArchAngel.Providers.Database.Model.StoredProcedure))
                {
                    ArchAngel.Providers.Database.Model.ScriptObject parentScriptObject = (ArchAngel.Providers.Database.Model.ScriptObject)parentObject;

                    for (int i = 0; i < parentScriptObject.UserOptions.Count; i++)
                    {
                        if (parentScriptObject.UserOptions[i].Name == option.VariableName)
                        {
                            userOption = parentScriptObject.UserOptions[i];
                            FormObjectOptionEdit form = new FormObjectOptionEdit(option, userOption, parentScriptObject);

                            if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                            {
                                Controller.MainForm.Cursor = Cursors.WaitCursor;
                                parentScriptObject.UserOptions[i].Value = form.UserOption.Value;
                                treeList.Selection[0].Tag = form.CurrentOption;
                                treeList.Selection[0].SetValue(1, form.UserOption.Value);
                                ProcessTreeValidity(treeList.Nodes);
                                Controller.MainForm.Cursor = Cursors.Default;
                            }

                            //((ArchAngel.Providers.Database.Model.ScriptObject)treeList.Selection[0].ParentNode.ParentNode.Tag).UserOptions[i].Value = Convert.ChangeType(form.CurrentOption.DefaultValue, form.CurrentOption.VarType);
                            //parentScriptObject.UserOptions[i].Value = Convert.ChangeType(form.CurrentOption.DefaultValue, form.CurrentOption.VarType);
                            break;
                        }
                    }
                    return;
                }
                else if (parentType == typeof(ArchAngel.Providers.Database.Model.Column))
                {
                    ArchAngel.Providers.Database.Model.Column parentColumn = (ArchAngel.Providers.Database.Model.Column)parentObject;

                    for (int i = 0; i < parentColumn.UserOptions.Count; i++)
                    {
                        if (parentColumn.UserOptions[i].Name == option.VariableName)
                        {
                            userOption = parentColumn.UserOptions[i];
                            FormObjectOptionEdit form = new FormObjectOptionEdit(option, userOption, parentColumn);

                            if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                            {
                                Controller.MainForm.Cursor = Cursors.WaitCursor;
                                parentColumn.UserOptions[i].Value = form.UserOption.Value;
                                treeList.Selection[0].Tag = form.CurrentOption;
                                treeList.Selection[0].SetValue(1, form.UserOption.Value);
                                ProcessTreeValidity(treeList.Nodes);
                                Controller.MainForm.Cursor = Cursors.Default;
                            }
                            break;
                        }
                    }
                    return;
                }
            }
            ScriptBase scriptBase = (ScriptBase)treeListNode.Tag;

            if (type == typeof(ArchAngel.Providers.Database.Model.Table) ||
                type == typeof(ArchAngel.Providers.Database.Model.View) ||
                type == typeof(ArchAngel.Providers.Database.Model.StoredProcedure))
            {
                FormScriptObject form = new FormScriptObject((ScriptObject)scriptBase, (ScriptObject[])treeListNode.ParentNode.Tag);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    UpdateTreeListNodeText(treeListNode, form.ScriptObject);

                    //TreeListHelper.TreeListNodeValidate(treeListNode);
                    foreach (ArchAngel.Providers.Database.Model.Database database in Controller.Instance.BllDatabase.Databases)
                    {
                        database.SnapshotMode = true;
                    }
                    treeList.BeginUpdate();
                    //ValidateNode(treeListNode);
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();

                    foreach (ArchAngel.Providers.Database.Model.Database database in Controller.Instance.BllDatabase.Databases)
                    {
                        database.SnapshotMode = false;
                    }
                    Controller.MainForm.Cursor = Cursors.Default;
                    return;
                }
            }
            else if (type == typeof(Column))
            {
                FormColumn form = new FormColumn((Column)scriptBase);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    UpdateTreeListNodeText(treeListNode, form.Column);

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                    return;
                }
            }
            else if (type == typeof(MapColumn))
            {
                FormMapColumn form = new FormMapColumn((ScriptObject)treeListNode.ParentNode.ParentNode.Tag, (MapColumn)scriptBase);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    MapColumn mapColumn = (MapColumn)scriptBase;

                    UpdateTreeListNodeText(treeListNode, form.MapColumn);

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                    return;
                }
            }
            else if (type.BaseType == typeof(Relationship))
            {
                ArchAngel.Providers.Database.Model.Database database = (ArchAngel.Providers.Database.Model.Database)treeListNode.ParentNode.ParentNode.ParentNode.ParentNode.ParentNode.Tag;
                FormRelationship form = new FormRelationship((Relationship)scriptBase, Controller.Instance.BllDatabase.ScriptObjects);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    UpdateTreeListNodeText(treeListNode, form.PrimaryRelationship);

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                    return;
                }
            }
            else if (type == typeof(Filter))
            {
                ArchAngel.Providers.Database.Model.Database database = (ArchAngel.Providers.Database.Model.Database)treeListNode.ParentNode.ParentNode.ParentNode.ParentNode.Tag;
                Filter filter = (Filter)scriptBase;

                FormFilter2 form;
                // Stored Procedure Filters can only be created from other Stored Procedures (Enabled or Disabled)
                if (filter.Parent.GetType() == typeof(ArchAngel.Providers.Database.Model.StoredProcedure))
                {
                    form = new FormFilter2(this.ParentForm, filter, database.StoredProcedures);
                }
                else
                {
                    form = new FormFilter2(this.ParentForm, filter, database.EnabledScriptObjects);
                }
                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    UpdateTreeListNodeText(treeListNode, form.Filter);

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                    return;
                }
            }
            else if (type == typeof(Index))
            {
                FormIndex form = new FormIndex((Index)scriptBase);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    UpdateTreeListNodeText(treeListNode, form.Index);

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                    return;
                }
            }
            else if (type == typeof(Key))
            {
                FormKey form = new FormKey((Key)scriptBase);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    UpdateTreeListNodeText(treeListNode, form.Key);

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                    return;
                }
            }
        }
Example #13
0
        private void toolStripMenuItemTreeViewEdit_Click(object sender, EventArgs e)
        {
            Refresh();
            Node treeListNode = treeList.SelectedNode;
            Type type = treeListNode.Tag.GetType();

            if (type == typeof(Lookup))
            {
                try
                {
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    this.Refresh();
                    FormLookup form = new FormLookup((Lookup)treeListNode.Tag);

                    if (form.ShowDialog(ParentForm) == DialogResult.OK)
                    {
                        treeList.BeginUpdate();
                        treeListNode.Text = form.Lookup.Alias;
                        treeListNode.Tag = form.Lookup;
                        treeList.EndUpdate();
                        return;
                    }
                }
                finally
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.Default);
                    this.Refresh();
                }
            }
            else if (type == typeof (Option))
            {
                IOption option = (IOption) treeListNode.Tag;
                IUserOption userOption;
                object parentObject = treeListNode.Parent.Parent.Tag;
                Type parentType = parentObject.GetType();

                Type scriptBaseInterface = typeof (IScriptBaseObject);

                if (scriptBaseInterface.IsInstanceOfType(parentObject))
                {
                    IScriptBaseObject parentScriptObject = (IScriptBaseObject) parentObject;

                    for (int i = 0; i < parentScriptObject.Ex.Count; i++)
                    {
                        if (parentScriptObject.Ex[i].Name == option.VariableName)
                        {
                            userOption = parentScriptObject.Ex[i];
                            FormVirtualPropertyEdit form = new FormVirtualPropertyEdit(userOption,
                                                                                                                               parentScriptObject);

                            if (form.ShowDialog(ParentForm) == DialogResult.OK)
                            {
                                Interfaces.Events.UnShadeMainForm();
                                Interfaces.Events.RaiseRefreshApplicationEvent();
                                Interfaces.Events.SetCursor(Cursors.WaitCursor);
                                treeList.BeginUpdate();
                                ProcessTreeValidity(treeList.Nodes);
                                treeList.EndUpdate();
                                Interfaces.Events.SetCursor(Cursors.Default);
                            }
                            break;
                        }
                    }
                    return;
                }
                if (parentType == typeof (Column))
                {
                    Column parentColumn = (Column) parentObject;

                    for (int i = 0; i < parentColumn.Ex.Count; i++)
                    {
                        if (parentColumn.Ex[i].Name == option.VariableName)
                        {
                            userOption = parentColumn.Ex[i];
                            FormVirtualPropertyEdit form = new FormVirtualPropertyEdit(userOption,
                                                                                                                               parentColumn);

                            if (form.ShowDialog(ParentForm) == DialogResult.OK)
                            {
                                Interfaces.Events.UnShadeMainForm();
                                Interfaces.Events.RaiseRefreshApplicationEvent();
                                Interfaces.Events.SetCursor(Cursors.WaitCursor);
                                treeList.BeginUpdate();
                                parentColumn.Ex[i].Value = form.VirtualProperty.Value;
                                treeList.SelectedNode.Cells[1].Text = form.VirtualProperty.Value.ToString();
                                ProcessTreeValidity(treeList.Nodes);
                                treeList.EndUpdate();
                                Interfaces.Events.SetCursor(Cursors.Default);
                            }
                            break;
                        }
                    }
                    return;
                }
            }
            if (type == typeof (Association))
            {
                frmAssociationWizard.Association = (Association) treeListNode.Tag;
                frmAssociationWizard form = new frmAssociationWizard();

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    treeList.BeginUpdate();
                    treeListNode.Cells[1].Text = frmAssociationWizard.Association.Name;
                    treeListNode.Tag = frmAssociationWizard.Association;
                    SetNodeImage(treeListNode, Images.GreenBullet);

                    foreach (Model.Database database in ProviderInfo.TheBllDatabase.Databases)
                    {
                        database.SnapshotMode = true;
                    }
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();

                    foreach (Model.Database database in ProviderInfo.TheBllDatabase.Databases)
                    {
                        database.SnapshotMode = false;
                    }
                    Interfaces.Events.RaiseIsDirtyEvent();
                    Interfaces.Events.SetCursor(Cursors.Default);
                    return;
                }
                return;
            }
            ScriptBase scriptBase = (ScriptBase) treeListNode.Tag;

            if (type == typeof (Table) ||
                type == typeof (View) ||
                type == typeof (StoredProcedure))
            {
                FormScriptObject form = new FormScriptObject((ScriptObject) scriptBase, (ScriptObject[]) treeListNode.Parent.Tag);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    treeList.BeginUpdate();
                    UpdateTreeListNodeText(treeListNode, form.ScriptObject);

                    foreach (Model.Database database in ProviderInfo.TheBllDatabase.Databases)
                    {
                        database.SnapshotMode = true;
                    }
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();

                    foreach (Model.Database database in ProviderInfo.TheBllDatabase.Databases)
                    {
                        database.SnapshotMode = false;
                    }
                    Interfaces.Events.SetCursor(Cursors.Default);
                    return;
                }
            }
            else if (type == typeof (Column))
            {
                FormColumn form = new FormColumn((Column) scriptBase);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    treeList.BeginUpdate();
                    UpdateTreeListNodeText(treeListNode, form.Column);
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();
                    Interfaces.Events.SetCursor(Cursors.Default);
                    return;
                }
            }
            else if (ModelTypes.MapColumn == type)
            {
                FormMapColumn form = new FormMapColumn((ScriptObject) treeListNode.Parent.Parent.Tag, (MapColumn) scriptBase);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    treeList.BeginUpdate();

                    UpdateTreeListNodeText(treeListNode, form.MapColumn);
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();
                    Interfaces.Events.SetCursor(Cursors.Default);
                    return;
                }
            }
            else if (type.BaseType == typeof (Relationship))
            {
                FormRelationship form = new FormRelationship((Relationship) scriptBase, ProviderInfo.TheBllDatabase.AllScriptObjects);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    treeList.BeginUpdate();
                    UpdateTreeListNodeText(treeListNode, form.PrimaryRelationship);
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();
                    Interfaces.Events.SetCursor(Cursors.Default);
                    return;
                }
            }
            else if (type == typeof (Filter))
            {
                Model.Database database = (Model.Database) treeListNode.Parent.Parent.Parent.Parent.Tag;
                Filter filter = (Filter) scriptBase;

                FormFilter2 form;
                // Stored Procedure Filters can only be created from other Stored Procedures (Enabled or Disabled)
                if (filter.Parent.GetType() == typeof (StoredProcedure))
                {
                    form = new FormFilter2(ParentForm, filter);
                }
                else
                {
                    form = new FormFilter2(ParentForm, filter);
                }
                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    treeList.BeginUpdate();
                    UpdateTreeListNodeText(treeListNode, form.TheFilter);
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();
                    Interfaces.Events.SetCursor(Cursors.Default);
                    return;
                }
            }
            else if (type == typeof (Index))
            {
                FormIndex form = new FormIndex((Index) scriptBase);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    treeList.BeginUpdate();
                    UpdateTreeListNodeText(treeListNode, form.Index);
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();
                    Interfaces.Events.SetCursor(Cursors.Default);
                    return;
                }
            }
            else if (type == typeof (Key))
            {
                FormKey form = new FormKey((Key) scriptBase);

                if (form.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Interfaces.Events.UnShadeMainForm();
                    Interfaces.Events.RaiseRefreshApplicationEvent();
                    Interfaces.Events.SetCursor(Cursors.WaitCursor);
                    treeList.BeginUpdate();
                    UpdateTreeListNodeText(treeListNode, form.Key);
                    ProcessTreeValidity(treeList.Nodes);
                    treeList.EndUpdate();
                    Interfaces.Events.SetCursor(Cursors.Default);
                    return;
                }
            }
        }
Example #14
0
 public void Add(FormColumn formcolumn)
 {
     context.FormsColumns.Add(formcolumn);
 }
Example #15
0
        private void toolStripMenuItemTreeViewAdd_Click(object sender, EventArgs e)
        {
            treeList.InvalidateNodes();

            treeList.BeginUpdate();

            TreeListNode treeListNode = treeList.FocusedNode;

            Type type = treeListNode.Tag.GetType();

            if (type == typeof(ArchAngel.Providers.Database.Model.Table[]) ||
                type == typeof(ArchAngel.Providers.Database.Model.View[]) ||
                type == typeof(ArchAngel.Providers.Database.Model.StoredProcedure[]))
            {
                ArchAngel.Providers.Database.Model.Database parent = (ArchAngel.Providers.Database.Model.Database)treeListNode.ParentNode.Tag;
                FormScriptObject form = new FormScriptObject((ScriptObject[])treeListNode.Tag, parent);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    parent.AddScriptObject(form.ScriptObject);

                    TreeListNode newTreeListNode = treeList.AppendNode(GetTreeListNodeText(form.ScriptObject), treeListNode);
                    newTreeListNode.Tag = form.ScriptObject;
                    newTreeListNode.ImageIndex = newTreeListNode.SelectImageIndex = (int)Images.GreenBullet;

                    SetupNewTreeListNode(newTreeListNode, form.ScriptObject);

                    if (type == typeof(ArchAngel.Providers.Database.Model.Table[]))
                    {
                        treeListNode.Tag = parent.Tables;
                    }

                    if (type == typeof(ArchAngel.Providers.Database.Model.View[]))
                    {
                        treeListNode.Tag = parent.Views;
                    }

                    if (type == typeof(ArchAngel.Providers.Database.Model.StoredProcedure[]))
                    {
                        treeListNode.Tag = parent.StoredProcedures;
                    }
                    //TreeListHelper.TreeListNodeValidate(newTreeListNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                }
            }
            else if (type == typeof(Column[]))
            {
                ScriptObject parent = (ScriptObject)treeListNode.ParentNode.Tag;
                FormColumn form = new FormColumn(parent);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    parent.AddColumn(form.Column);

                    TreeListNode newTreeListNode = treeList.AppendNode(GetTreeListNodeText(form.Column), treeListNode);
                    newTreeListNode.Tag = form.Column;
                    newTreeListNode.ImageIndex = newTreeListNode.SelectImageIndex = (int)Images.GreenBullet;

                    treeListNode.Tag = parent.Columns;

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                }
            }
            else if (type == typeof(OneToOneRelationship[]) ||
                type == typeof(OneToManyRelationship[]) ||
                type == typeof(ManyToOneRelationship[]) ||
                type == typeof(ManyToManyRelationship[]))
            {
                ScriptObject parent = (ScriptObject)treeListNode.ParentNode.ParentNode.Tag;

                Type relationshipType = null;
                if (type == typeof(OneToOneRelationship[]))
                {
                    relationshipType = typeof(OneToOneRelationship);
                }

                if (type == typeof(ManyToOneRelationship[]))
                {
                    relationshipType = typeof(ManyToOneRelationship);
                }

                if (type == typeof(OneToManyRelationship[]))
                {
                    relationshipType = typeof(OneToManyRelationship);
                }

                if (type == typeof(ManyToManyRelationship[]))
                {
                    relationshipType = typeof(ManyToManyRelationship);
                }

                ArchAngel.Providers.Database.Model.Database database = (ArchAngel.Providers.Database.Model.Database)treeListNode.ParentNode.ParentNode.ParentNode.ParentNode.Tag;

                FormRelationship form = new FormRelationship(relationshipType, (ScriptObject)treeListNode.ParentNode.ParentNode.Tag, Controller.Instance.BllDatabase.EnabledScriptObjects);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    ScriptObject primaryScriptObject = form.PrimaryRelationship.Parent;
                    primaryScriptObject.AddRelationship(form.PrimaryRelationship);

                    ScriptObject foreignScriptObject = form.ForeignRelationship.Parent;
                    foreignScriptObject.AddRelationship(form.ForeignRelationship);

                    TreeListNode newTreeListNode = treeList.AppendNode(GetTreeListNodeText(form.PrimaryRelationship), treeListNode);
                    newTreeListNode.Tag = form.PrimaryRelationship;
                    newTreeListNode.ImageIndex = newTreeListNode.SelectImageIndex = (int)Images.GreenBullet;

                    if (type == typeof(OneToOneRelationship[]))
                    {
                        treeListNode.Tag = parent.OneToOneRelationships;
                    }

                    if (type == typeof(ManyToOneRelationship[]))
                    {
                        treeListNode.Tag = parent.ManyToOneRelationships;
                    }

                    if (type == typeof(OneToManyRelationship[]))
                    {
                        treeListNode.Tag = parent.OneToManyRelationships;
                    }

                    if (type == typeof(ManyToManyRelationship[]))
                    {
                        treeListNode.Tag = parent.ManyToManyRelationships;
                    }

                    LoadTreeListNode(foreignScriptObject);
                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                }
            }
            else if (type == typeof(Filter[]))
            {
                ArchAngel.Providers.Database.Model.Database database = (ArchAngel.Providers.Database.Model.Database)treeListNode.ParentNode.ParentNode.ParentNode.Tag;
                ScriptObject parent = (ScriptObject)treeListNode.ParentNode.Tag;

                FormFilter2 form;
                // Stored Procedure Filters can only be created from other Stored Procedures (Enabled or Disabled)
                if (parent.GetType() == typeof(ArchAngel.Providers.Database.Model.StoredProcedure))
                {
                    form = new FormFilter2(this.ParentForm, parent, database.StoredProcedures);
                }
                else
                {
                    form = new FormFilter2(this.ParentForm, parent, database.EnabledScriptObjects);
                }
                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    parent.AddFilter(form.Filter);

                    TreeListNode newTreeListNode = treeList.AppendNode(GetTreeListNodeText(form.Filter), treeListNode);
                    newTreeListNode.Tag = form.Filter;
                    newTreeListNode.ImageIndex = newTreeListNode.SelectImageIndex = (int)Images.GreenBullet;

                    treeListNode.Tag = parent.Filters;

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                }
            }
            else if (type == typeof(Index[]))
            {
                ArchAngel.Providers.Database.Model.Table parent = (ArchAngel.Providers.Database.Model.Table)treeListNode.ParentNode.Tag;
                FormIndex form = new FormIndex((ArchAngel.Providers.Database.Model.Table)treeListNode.ParentNode.Tag);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    parent.AddIndex(form.Index);

                    TreeListNode newTreeListNode = treeList.AppendNode(GetTreeListNodeText(form.Index), treeListNode);
                    newTreeListNode.Tag = form.Index;
                    newTreeListNode.ImageIndex = newTreeListNode.SelectImageIndex = (int)Images.GreenBullet;

                    treeListNode.Tag = parent.Indexes;

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                }
            }
            else if (type == typeof(Key[]))
            {
                ArchAngel.Providers.Database.Model.Table parent = (ArchAngel.Providers.Database.Model.Table)treeListNode.ParentNode.Tag;
                FormKey form = new FormKey((ArchAngel.Providers.Database.Model.Table)treeListNode.ParentNode.Tag);

                if (form.ShowDialog(this.ParentForm) == DialogResult.OK)
                {
                    Controller.MainForm.Cursor = Cursors.WaitCursor;
                    parent.AddKey(form.Key);

                    TreeListNode newTreeListNode = treeList.AppendNode(GetTreeListNodeText(form.Key), treeListNode);
                    newTreeListNode.Tag = form.Key;
                    newTreeListNode.ImageIndex = newTreeListNode.SelectImageIndex = (int)Images.GreenBullet;

                    treeListNode.Tag = parent.Keys;

                    //TreeListHelper.TreeListNodeValidate(treeListNode.ParentNode);
                    ProcessTreeValidity(treeList.Nodes);
                    Controller.MainForm.Cursor = Cursors.Default;
                }
            }
            treeList.EndUpdate();
        }
        public ActionResult UpdateFormColumnInfo(IEnumerable <FormColumnViewModel> models)
        {
            var datasource = new DataSource <FormColumnViewModel>();

            datasource.Data  = models;
            datasource.Total = models.Count();

            if (ModelState.IsValid)
            {
                var model = models.OrderBy(m => m.Id).FirstOrDefault(m => m.CompanyId == 0);
                if (model != null && model.CompanyId != CompanyId)
                {
                    model.CompanyId = CompanyId;
                    _hrUnitOfWork.PagesRepository.NewCompanyFormDesign(models);
                }
                else
                {
                    foreach (FormColumnViewModel column in models)
                    {
                        var record = new FormColumn
                        {
                            Id            = column.Id,
                            SectionId     = column.SectionId,
                            ColumnName    = column.name,
                            ColumnOrder   = column.order,
                            isVisible     = column.isVisible,
                            ColumnType    = column.ColumnType,
                            Required      = column.required,
                            Min           = column.min,
                            Max           = column.max,
                            Pattern       = column.pattern,
                            MaxLength     = column.maxLength,
                            MinLength     = column.minLength,
                            PlaceHolder   = column.placeholder,
                            InputType     = column.type,
                            IsUnique      = column.isunique,
                            UniqueColumns = column.UniqueColumns,
                            HtmlAttribute = column.HtmlAttribute,
                            CodeName      = column.CodeName,
                            DefaultValue  = column.DefaultValue,
                            Formula       = column.Formula
                        };

                        _hrUnitOfWork.PagesRepository.Attach(record);
                        _hrUnitOfWork.PagesRepository.Entry(record).State = System.Data.Entity.EntityState.Modified;
                    }
                }

                datasource.Errors = SaveChanges(Language);
            }
            else
            {
                datasource.Errors = Models.Utils.ParseErrors(ModelState.Values);
            }

            if (datasource.Errors.Count() > 0)
            {
                return(Json(datasource));
            }
            else
            {
                var    page = _hrUnitOfWork.Repository <PageDiv>().Where(a => a.Id == models.FirstOrDefault().PageId).Select(a => new { companyid = a.CompanyId, objectname = a.ObjectName, version = a.Version }).FirstOrDefault();
                string key  = page.companyid + page.objectname + page.version + Language;
                if (_hrUnitOfWork.PagesRepository.CacheManager.IsSet(key))
                {
                    _hrUnitOfWork.PagesRepository.CacheManager.Remove(key);
                }

                return(Json(datasource.Data));
            }
        }
Example #17
0
 public FormColumnViewModel(FormColumn column)
 {
     Column = column;
     FormElementViewModel = FormElementViewModelFactory.Create(column.Element);
 }
Example #18
0
 public DbEntityEntry <FormColumn> Entry(FormColumn formcolumn)
 {
     return(Context.Entry(formcolumn));
 }
        public ActionResult CreateFormColumn(IEnumerable <FormColumnViewModel> models)
        {
            var result = new List <FormColumn>();

            var datasource = new DataSource <FormColumnViewModel>();

            datasource.Data  = models;
            datasource.Total = models.Count();

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    var errors = _hrUnitOfWork.MenuRepository.Check(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "FormColumns",
                        TableName    = "FormColumns",
                        ParentColumn = "SectionId",

                        Columns = Models.Utils.GetModifiedRows(ModelState),
                        Culture = Language
                    });

                    if (errors.Count() > 0)
                    {
                        datasource.Errors = errors;
                        return(Json(datasource));
                    }
                }


                foreach (FormColumnViewModel frm in models)
                {
                    var formcolumn = new FormColumn
                    {
                        SectionId     = frm.SectionId,
                        ColumnName    = frm.name,
                        ColumnType    = frm.ColumnType,
                        HtmlAttribute = frm.HtmlAttribute,
                        IsUnique      = frm.isunique,
                        Lg            = (frm.lg != null ? frm.lg :null),
                        Max           = frm.max,
                        Min           = frm.min,
                        Md            = frm.md,
                        isVisible     = frm.isVisible,
                        ColumnOrder   = frm.order,
                        MaxLength     = frm.maxLength,
                        MinLength     = frm.minLength,
                        Pattern       = frm.pattern,
                        PlaceHolder   = frm.placeholder,
                        Required      = frm.required,
                        Sm            = frm.sm,
                        UniqueColumns = frm.UniqueColumns,
                        OrgInputType  = frm.OrgInputType,
                        InputType     = frm.type,
                        CodeName      = frm.CodeName,
                        DefaultValue  = frm.DefaultValue,
                        Formula       = frm.Formula
                    };

                    result.Add(formcolumn);
                    _hrUnitOfWork.PageEditorRepository.Add(formcolumn);
                }


                datasource.Errors = SaveChanges(Language);
            }
            else
            {
                datasource.Errors = Models.Utils.ParseErrors(ModelState.Values);
            }

            datasource.Data = (from frm in models
                               join r in result on frm.name equals r.ColumnName
                               select new FormColumnViewModel
            {
                Id = (r == null ? 0 : r.Id),
                SectionId = frm.SectionId,
                name = frm.name,
                type = frm.ColumnType,
                isunique = frm.isunique,
                lg = frm.lg,
                max = frm.max,
                min = frm.min,
                md = frm.md,
                order = frm.order,
                maxLength = frm.maxLength,
                minLength = frm.minLength,
                pattern = frm.pattern,
                placeholder = frm.placeholder,
                required = frm.required,
                sm = frm.sm,
                ColumnType = frm.type,
                isVisible = frm.isVisible,
                label = frm.label,
                UniqueColumns = frm.UniqueColumns,
                OrgInputType = frm.OrgInputType,
                HtmlAttribute = frm.HtmlAttribute,
                Formula = frm.Formula
            }).ToList();

            if (datasource.Errors.Count() > 0)
            {
                return(Json(datasource));
            }
            else
            {
                return(Json(datasource.Data));
            }
        }
Example #20
0
 public void Attach(FormColumn formcolumn)
 {
     context.FormsColumns.Attach(formcolumn);
 }