private void AddNewRefLink()
        {
            var refLinkType = SelectRefType();

            if (!string.IsNullOrEmpty(refLinkType))
            {
                var data = new RefLink();
                data.RefLinkID   = -1;
                data.RefLinkType = refLinkType;
                data.IntraCatID  = IntraCategoryID;
                data.UseInReport = true;

                RegisterPendingChange(new InsertRefLinkCommand(data, Category.ToString()));

                var viewModel = new RefLinkViewModel(data);
                viewModel.RefCode = NextNewName("<New {0}>", _model, () => viewModel.RefCode);
                _model.Add(viewModel);

                viewModel.DataChanged += new DataChangedHandler((changed) => {
                    RegisterUniquePendingChange(new UpdateRefLinkCommand(viewModel.Model, Category.ToString()));
                });

                lstReferences.SelectedItem = viewModel;
                lstReferences.ScrollIntoView(viewModel);
            }
        }
Beispiel #2
0
        public async Task UpdateReflink(RefLink link)
        {
            var entity = await _set.FindAsync(link.Id);

            if (entity != null)
            {
                _context.Entry(entity).CurrentValues.SetValues(link);
                await _context.SaveChangesAsync();
            }
        }
Beispiel #3
0
        public void SetReflink(string reflink)
        {
            if (reflink.IsNullOrWhiteSpace())
            {
                throw new DomainException("Invalid reflink.");
            }

            if (!RefLink.IsNullOrWhiteSpace())
            {
                throw new DomainException("This account has a reflink already set.");
            }

            RefLink = reflink;
        }
        protected override void ProcessImpl(User user)
        {
            var service = new SupportService(user);

            var reflink = new RefLink();

            reflink.RefLinkID   = Model.RefLinkID;
            reflink.IntraCatID  = Model.BiotaID;
            reflink.RefID       = Model.RefID;
            reflink.RefPage     = Model.RefPage;
            reflink.RefQual     = Model.RefQual;
            reflink.RefLinkType = Model.RefLink;
            reflink.UseInReport = Model.UseInReports;

            Model.RefLinkID = service.InsertRefLink(reflink, TraitCategoryType.Taxon.ToString());
        }
Beispiel #5
0
 public async Task CreateReflink(RefLink refLink)
 {
     _set.Add(refLink);
     await _context.SaveChangesAsync();
 }
 public InsertRefLinkCommand(RefLink model, string categoryName)
     : base(model, categoryName)
 {
 }
 public UpdateRefLinkCommand(RefLink model, string categoryName)
     : base(model, categoryName)
 {
 }