示例#1
0
        public void UpdateField(CustomFieldViewModel model)
        {
            var field = Database.CollectionRepository.GetFieldById(model.Id);

            field.Name = model.Name;
            Database.CollectionRepository.SaveChanges();
        }
示例#2
0
        public ActionResult UpdateField(CustomFieldViewModel model)
        {
            if (ModelState.IsValid)
            {
                CollectionService.UpdateField(model);
            }

            return(RedirectToAction($"Collection/{model.CollectionId}"));
        }
        public ActionResult Create(string id, CustomField customField)
        {
            var org = string.IsNullOrWhiteSpace(id) ? null : _organizationRepository.GetNullableById(id);

            if (org == null)
            {
                Message = "Organization not found for custom field.";
                return(this.RedirectToAction <OrganizationController>(a => a.Index()));
            }

            var message = string.Empty;

            if (!_securityService.HasWorkgroupOrOrganizationAccess(null, org, out message))
            {
                Message = message;
                return(this.RedirectToAction <ErrorController>(a => a.NotAuthorized()));
            }

            var customFieldToCreate = new CustomField();

            customFieldToCreate.Organization = org;

            TransferValues(customField, customFieldToCreate);

            ModelState.Clear();
            customFieldToCreate.TransferValidationMessagesTo(ModelState);

            if (ModelState.IsValid)
            {
                _customFieldRepository.EnsurePersistent(customFieldToCreate);

                Message = "CustomField Created Successfully";

                //return RedirectToAction("Index", new {id=id});
                return(this.RedirectToAction(a => a.Index(id)));
            }
            else
            {
                var viewModel = CustomFieldViewModel.Create(Repository, org);
                viewModel.CustomField = customField;

                return(View(viewModel));
            }
        }
        public ActionResult Edit(int id, CustomField customField)
        {
            var customFieldToArchive = _customFieldRepository.GetNullableById(id);

            if (customFieldToArchive == null)
            {
                ErrorMessage = "Custom Field not found.";
                return(this.RedirectToAction <ErrorController>(a => a.Index()));
            }

            var message = string.Empty;

            if (!_securityService.HasWorkgroupOrOrganizationAccess(null, customFieldToArchive.Organization, out message))
            {
                Message = message;
                return(this.RedirectToAction <ErrorController>(a => a.NotAuthorized()));
            }

            var customFieldToEdit = new CustomField();

            customFieldToEdit.Organization = customFieldToArchive.Organization;

            TransferValues(customField, customFieldToEdit);

            ModelState.Clear();
            customFieldToEdit.TransferValidationMessagesTo(ModelState);

            if (ModelState.IsValid)
            {
                customFieldToArchive.IsActive = false;
                _customFieldRepository.EnsurePersistent(customFieldToArchive);
                _customFieldRepository.EnsurePersistent(customFieldToEdit);

                Message = "CustomField Edited Successfully";
                return(this.RedirectToAction(a => a.Index(customFieldToEdit.Organization.Id)));
            }
            else
            {
                var viewModel = CustomFieldViewModel.Create(Repository, customFieldToEdit.Organization, customFieldToEdit);

                return(View(viewModel));
            }
        }
        public ActionResult CustomFields()
        {
            ViewBag.AccountId = this.Identity.ToAccountID();
            GetAllCustomFieldTabsRequest    request     = new GetAllCustomFieldTabsRequest(ViewBag.AccountId);
            GetAllCustomFieldTabsResponse   response    = customFieldService.GetAllCustomFieldTabs(request);
            CustomFieldValueOptionViewModel valueOption = new CustomFieldValueOptionViewModel()
            {
                CustomFieldId            = 0,
                CustomFieldValueOptionId = 0,
                IsDeleted = false,
                Value     = "",
                Order     = 0
            };
            CustomFieldViewModel fieldViewModel = new CustomFieldViewModel()
            {
                AccountID        = this.Identity.ToAccountID(),
                FieldInputTypeId = FieldType.text,
                IsMandatory      = false,
                SortId           = 0,
                StatusId         = FieldStatus.Active,
                Title            = "New Field",
                ValueOptions     = new List <CustomFieldValueOptionViewModel>()
            };
            CustomFieldSectionViewModel section = new CustomFieldSectionViewModel()
            {
                CustomFields = new List <CustomFieldViewModel>(),
                Name         = "New Section"
            };
            CustomFieldTabViewModel tab = new CustomFieldTabViewModel()
            {
                Sections  = new List <CustomFieldSectionViewModel>(),
                Name      = "New Tab",
                AccountId = this.Identity.ToAccountID()
            };

            response.CustomFieldsViewModel.TabTemplate         = tab;
            response.CustomFieldsViewModel.SectionTemplate     = section;
            response.CustomFieldsViewModel.CustomFieldTemplate = fieldViewModel;
            response.CustomFieldsViewModel.ValueOptionTemplate = valueOption;
            return(View("AddEditCustomFields", response.CustomFieldsViewModel));
        }
        /// <summary>
        /// GET: /CustomField/Create
        /// </summary>
        /// <param name="id">Organization Id</param>
        /// <returns></returns>
        public ActionResult Create(string id)
        {
            var org = string.IsNullOrWhiteSpace(id) ? null : _organizationRepository.GetNullableById(id);

            if (org == null)
            {
                Message = "Organization not found for custom field.";
                return(this.RedirectToAction <OrganizationController>(a => a.Index()));
            }

            var message = string.Empty;

            if (!_securityService.HasWorkgroupOrOrganizationAccess(null, org, out message))
            {
                Message = message;
                return(this.RedirectToAction <ErrorController>(a => a.NotAuthorized()));
            }

            var viewModel = CustomFieldViewModel.Create(Repository, org);

            return(View(viewModel));
        }
        /// <summary>
        /// GET: /CustomField/Edit/5
        /// </summary>
        /// <param name="id">Custom Field Id</param>
        /// <returns></returns>
        public ActionResult Edit(int id)
        {
            var customField = _customFieldRepository.GetNullableById(id);

            if (customField == null)
            {
                ErrorMessage = "Custom Field not found.";
                return(this.RedirectToAction <ErrorController>(a => a.Index()));
            }

            var message = string.Empty;

            if (!_securityService.HasWorkgroupOrOrganizationAccess(null, customField.Organization, out message))
            {
                Message = message;
                return(this.RedirectToAction <ErrorController>(a => a.NotAuthorized()));
            }

            var viewModel = CustomFieldViewModel.Create(Repository, customField.Organization, customField);

            return(View(viewModel));
        }
        public ActionResult GetFields(JQueryDataTableParamModel param)
        {
            try
            {
                var customFields = string.IsNullOrEmpty(param.sSearch) ? _customFieldService.Query().Select().OrderBy(f => f.CustomFieldName).Skip(param.iDisplayStart).Take(param.iDisplayLength).ToList()
                    : _customFieldService.Query().Select().Where(s => s.CustomFieldName.ToLower().Contains(param.sSearch.ToLower())).OrderBy(f => f.CustomFieldName).Skip(param.iDisplayStart).Take(param.iDisplayLength).ToList();

                var countG = string.IsNullOrEmpty(param.sSearch) ? _customFieldService.Query().Select().Count() : _customFieldService.Query().Select().Count(s => s.CustomFieldName.ToLower().Contains(param.sSearch.ToLower()));
                var cField = new List <CustomFieldViewModel>();

                if (customFields.Any())
                {
                    customFields.ForEach(c =>
                    {
                        var cFieldView = new CustomFieldViewModel
                        {
                            TableId         = c.TableId,
                            CustomListId    = c.CustomListId,
                            CustomFieldName = c.CustomFieldName,
                            CustomFieldId   = c.CustomFieldId,
                            CustomGroupId   = c.CustomGroupId,
                            FieldTypeId     = c.FieldTypeId,
                            CustomFieldSize = c.CustomFieldSize,
                            TabIndex        = c.TabIndex,
                            Required        = c.Required
                        };
                        var customList = _customListService.Query(l => l.CustomListId == c.CustomListId).Select().ToList();
                        if (customList.Any())
                        {
                            cFieldView.CustomListName = customList[0].CustomListName;
                        }
                        var customGroups = _customGroupService.Query(l => l.CustomGroupId == c.CustomGroupId).Select().ToList();
                        if (customGroups.Any())
                        {
                            cFieldView.CustomGroupName = customGroups[0].GroupName;
                        }
                        var customFieldTypes = _customFieldTypeService.Query(l => l.FieldTypeId == c.FieldTypeId).Select().ToList();
                        if (customFieldTypes.Any())
                        {
                            cFieldView.FieldTypeName = customFieldTypes[0].FieldTypeName;
                        }
                        cField.Add(cFieldView);
                    });
                }

                var result = from c in cField
                             select new[] { c.CustomFieldId, c.CustomFieldName, c.FieldTypeName, c.CustomListName, c.CustomGroupName, c.CustomFieldSize, c.TabIndex.ToString() };
                return(Json(new
                {
                    param.sEcho,
                    iTotalRecords = countG,
                    iTotalDisplayRecords = countG,
                    aaData = result
                },
                            JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    param.sEcho,
                    iTotalRecords = 0,
                    iTotalDisplayRecords = 0,
                    aaData = new List <string>()
                },
                            JsonRequestBehavior.AllowGet));
            }
        }