示例#1
0
        public Guid SaveTag(TagDTO tag)
        {
            Guid tagId = Guid.Empty;

            if (tag == null)
                throw new FaultException("Unable to save null tag.");

            TaskrDataContext db = new TaskrDataContext(ConfigurationProvider.GetConnection("Taskr"));

            if (tag.Id == Guid.Empty)
            {
                Tag _tag = tag.MapTo();
                tagId = _tag.Id;
                db.Tags.InsertOnSubmit(_tag);
            }
            else
            {
                Tag _tag = db.Tags.SingleOrDefault(t => t.Id == tag.Id);
                tag.MapInto(_tag);
                tagId = _tag.Id;
            }

            db.SubmitChanges();
            return tagId;
        }
示例#2
0
        /// <summary>
        /// This method handles the command event (callback) that initiates the save of a new tag.
        /// The method gets user input from the form on the page and attempts to save the tag through the admin service.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="CommandEventArgs"/> instance containing the event data.</param>
        protected void SaveTag(object sender, CommandEventArgs args)
        {
            if (String.IsNullOrEmpty(TagField.Text))
            {
                return;
            }

            TagDTO tag = new TagDTO();
            tag.Label = TagField.Text;

            using (TaskrAdminProxy service = new TaskrAdminProxy())
            {
                try
                {
                    service.SaveTag(tag);
                    new StatusPresenter().Success(string.Format("Created {0} tag.", tag.Label));
                    BindTagList();
                    ResetForm();
                }
                catch (FaultException<NotAuthorizedDetail> fault)
                {
                    new StatusPresenter().Error(fault.Message);
                    return;
                }
                catch (Exception exception)
                {
                    if (logger.IsErrorEnabled)
                    {
                        logger.Error("An error occurred while saving a tag.", exception);
                    }

                    new StatusPresenter().Error("An unknown error occurred. Please try again.");
                    return;
                }
            }
        }