예제 #1
0
 public Article(ArticleId id, AuthorId authorId, Title title, Content content)
 {
     Id       = id;
     AuthorId = authorId;
     Title    = title;
     Content  = content;
 }
예제 #2
0
 public BookCreated(BookId bookId, string title, string description, AuthorId author)
 {
     BookId      = bookId;
     Title       = title;
     Description = description;
     AuthorId    = author;
 }
예제 #3
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Id.Length != 0)
            {
                hash ^= Id.GetHashCode();
            }
            if (AuthorId.Length != 0)
            {
                hash ^= AuthorId.GetHashCode();
            }
            if (Title.Length != 0)
            {
                hash ^= Title.GetHashCode();
            }
            if (Content.Length != 0)
            {
                hash ^= Content.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        public Author Get(AuthorId authorId)
        {
            // TODO: external author service integration implementation comes here

            var authorExternalModel = new AuthorExternalModel(
                928467, "William", "Shakespeare");

            return(authorExternalModel.ToDomain());
        }
예제 #5
0
        public bool Equals(BulkMoveAuthor other)
        {
            if (other == null)
            {
                return(false);
            }

            return(AuthorId.Equals(other.AuthorId));
        }
예제 #6
0
        public ArticleId Create(AuthorId authorId, Title title, Content content)
        {
            var article = _articleRepository.Insert(authorId, title, content);

            article.ValidateEligibilityForPublication();

            _eventPublisher.PublishCreationOf(article);
            return(article.Id);
        }
예제 #7
0
        public async Task <ClaimsIdentity> GenerateUserIdentityAsync(UserManager <AppUser> manager)
        {
            // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
            var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);

            // Add custom user claims here
            userIdentity.AddClaim(new Claim("ProfileId", ProfileId.ToString()));
            userIdentity.AddClaim(new Claim("AuthorId", AuthorId.ToString()));
            return(userIdentity);
        }
예제 #8
0
        public override bool Equals(object obj)
        {
            var entity = obj as BookEntity;

            return(entity != null &&
                   base.Equals(obj) &&
                   Title == entity.Title &&
                   ReleaseDate == entity.ReleaseDate &&
                   AuthorId.Equals(entity.AuthorId) &&
                   EqualityComparer <AuthorEntity> .Default.Equals(Author, entity.Author));
        }
        public static Task CreateInvalidAuthor()
        {
            var connectionString = ConnectivityService.GetConnectionString("TEMP");
            var context          = new BookOrganizer2DbContext(connectionString);
            var repository       = new AuthorRepository(context);
            var authorService    = new AuthorService(repository);

            var authorId = new AuthorId(SequentialGuid.NewSequentialGuid());
            var command  = new Commands.Create {
                Id = authorId
            };

            return(authorService.Handle(command));
        }
예제 #10
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (obj.GetType() != GetType())
            {
                return(false);
            }

            return(AuthorId.Equals(((BulkMoveAuthor)obj).AuthorId));
        }
예제 #11
0
        // DELETE
        public static Task RemoveAuthor(AuthorId id)
        {
            var connectionString = ConnectivityService.GetConnectionString("TEMP");
            var context          = new BookOrganizer2DbContext(connectionString);
            var repository       = new AuthorRepository(context);

            var authorService = new AuthorService(repository);
            var command       = new Commands.DeleteAuthor
            {
                Id = id,
            };

            return(authorService.Handle(command));
        }
예제 #12
0
        public static Task UpdateAuthorNationality(AuthorId authorId, NationalityId nationalityId)
        {
            var connectionString = ConnectivityService.GetConnectionString("TEMP");
            var context          = new BookOrganizer2DbContext(connectionString);
            var repository       = new AuthorRepository(context);

            var authorService = new AuthorService(repository);
            var command       = new Commands.SetNationality
            {
                Id            = authorId,
                NationalityId = nationalityId
            };

            return(authorService.Handle(command));
        }
예제 #13
0
        public static Task UpdateAuthorBiography(AuthorId id, string bio)
        {
            var connectionString = ConnectivityService.GetConnectionString("TEMP");
            var context          = new BookOrganizer2DbContext(connectionString);
            var repository       = new AuthorRepository(context);

            var authorService = new AuthorService(repository);
            var command       = new Commands.SetBiography
            {
                Id        = id,
                Biography = bio
            };

            return(authorService.Handle(command));
        }
예제 #14
0
        /// <summary>
        /// Returns a System.String containing an Xml representation of the current object
        /// </summary>
        /// <returns></returns>
        public string ToXml()
        {
            string xmlString;

            var xml = new XElement("song",
                                   new XElement("id", Id),
                                   Sequence != 0 ? new XElement("sort_order", Sequence) : null,
                                   Title != null ? new XElement("title", Title) : null,
                                   !AuthorId.IsNullOrZero() ? new XElement("author_id", AuthorId) : null,
                                   Test == true ? new XElement("test", Test.ToInt()) : null
                                   );

            xmlString = xml.ToString();
            return(xmlString);
        }
예제 #15
0
        public static Task UpdateAuthorMugshotPath(AuthorId id, string path)
        {
            var connectionString = ConnectivityService.GetConnectionString("TEMP");
            var context          = new BookOrganizer2DbContext(connectionString);
            var repository       = new AuthorRepository(context);

            var authorService = new AuthorService(repository);
            var command       = new Commands.SetMugshotPath
            {
                Id          = id,
                MugshotPath = path
            };

            return(authorService.Handle(command));
        }
예제 #16
0
        public static Task UpdateAuthorDateOfBirth(AuthorId id, DateTime dob)
        {
            var connectionString = ConnectivityService.GetConnectionString("TEMP");
            var context          = new BookOrganizer2DbContext(connectionString);
            var repository       = new AuthorRepository(context);

            var authorService = new AuthorService(repository);
            var command       = new Commands.SetAuthorDateOfBirth
            {
                Id          = id,
                DataOfBirth = dob
            };

            return(authorService.Handle(command));
        }
예제 #17
0
        public static Task UpdateAuthorNotes(AuthorId id, string notes)
        {
            var connectionString = ConnectivityService.GetConnectionString("TEMP");
            var context          = new BookOrganizer2DbContext(connectionString);
            var repository       = new AuthorRepository(context);

            var authorService = new AuthorService(repository);
            var command       = new Commands.SetNotesOld
            {
                Id       = id,
                NotesOld = notes
            };

            return(authorService.Handle(command));
        }
예제 #18
0
        public static Task UpdateAuthorLastName(AuthorId id, string lastName)
        {
            var connectionString = ConnectivityService.GetConnectionString("TEMP");
            var context          = new BookOrganizer2DbContext(connectionString);
            var repository       = new AuthorRepository(context);

            var authorService = new AuthorService(repository);
            var command       = new Commands.SetAuthorsLastName
            {
                Id       = id,
                LastName = lastName
            };

            return(authorService.Handle(command));
        }
예제 #19
0
        protected override void ValidateCore()
        {
            if (WorkTaskId.IsBlankIdentity())
            {
                AddError("", "Idenitity is invalid.");
            }

            if (AuthorId.IsBlankIdentity())
            {
                AddError("", "Idenitity is invalid.");
            }

            if (!TextValidator.ValidateThatContentIsBetweenSpecifiedLength(Content, 1))
            {
                AddError("", "Content of the comment is invalid.");
            }
        }
예제 #20
0
        public static async Task Seed(PostDbContext dbContext)
        {
            // thangchung's user blog
            var blogId   = new BlogId(IdHelper.GenerateId("34c96712-2cdf-4e79-9e2f-768cb68dd552"));
            var authorId = new AuthorId(IdHelper.GenerateId("4b5f26ce-df97-494c-b747-121d215847d8"));

            for (var i = 1; i <= 100; i++)
            {
                var post = Core.Domain.Post.CreateInstance(
                    blogId,
                    $"The title of post {i}",
                    $"The excerpt of post {i}",
                    $"The body of post {i}", authorId)
                           .AddComment("comment 1", authorId)
                           .AssignTag($"{i}");
                dbContext.Add(post);
            }
            await dbContext.SaveChangesAsync();
        }
예제 #21
0
        public Article Insert(AuthorId authorId, Title title, Content content)
        {
            var newArticleId = GetNextIdentity();

            var article = new Article(
                newArticleId,
                authorId,
                title,
                content);

            _context
            .Articles
            .Add(article)
            .Reference(x => x.Author)
            .Load();

            _context.SaveChanges();

            return(article);
        }
예제 #22
0
        /// <summary>
        /// Returns a System.String containing an Xml representation of the specified property of the current object
        /// </summary>
        /// <param name="property">name of a specific property that is to be written out as Xml.
        /// If this value is filled in, only the <id/> node and the node for property are output.
        /// At the time of this writing, this is only used for product_pictures.
        /// </param>
        /// <returns></returns>
        public string ToXml(string property)
        {
            var xml = new XElement(_objectName);

            xml.Add(new XElement("id", Id.ToString()));

            if ((property == null || property == "product_type_id") && LogBits.BitTest(Enums.Logfield.ProductTypeId))
            {
                xml.Add(new XElement("product_type_id", (int)ProductTypeId));
            }

            if ((property == null || property == "name_nl") && Name_NL != null && LogBits.BitTest(Enums.Logfield.PublicProductName_NL))
            {
                xml.Add(new XElement("name_nl", Name_NL));
            }

            //if ((property == null || property == "name_en") && Name_EN != null && LogBits.BitTest(Enums.Logfield.PublicProductName_EN))
            //    xml.Add(new XElement("name_en", Name_EN));

            if ((property == null || property == "songs") && LogBits.BitTest(Enums.Logfield.SongSortOrder))
            {
                xml.Add(new XElement("songs", from song in Songs
                                     select new XElement(XElement.Parse(song.ToXml()))));
            }

            if ((property == null || property == "subtitle_nl") && LogBits.BitTest(Enums.Logfield.Subtitle_NL))
            {
                xml.Add(new XElement("subtitle_nl", Subtitle_NL));
            }

            if ((property == null || property == "author_id") && LogBits.BitTest(Enums.Logfield.AuthorId))
            {
                xml.Add(new XElement("author_id", AuthorId.ToString()));
            }

            if ((property == null || property == "arranger_id") && LogBits.BitTest(Enums.Logfield.ArrangerId))
            {
                xml.Add(new XElement("arranger_id", ArrangerId.ToString()));
            }

            if ((property == null || property == "manufacturer_id") && LogBits.BitTest(Enums.Logfield.ManufacturerId))
            {
                xml.Add(new XElement("manufacturer_id", ManufacturerId.ToString()));
            }

            if ((property == null || property == "instrument_id") && LogBits.BitTest(Enums.Logfield.InstrumentId))
            {
                xml.Add(new XElement("instrument_id", InstrumentId.ToString()));
            }

            if ((property == null || property == "sell_price") && !SalesPrice.IsNullOrZero() && LogBits.BitTest(Enums.Logfield.SalesPrice))
            {
                xml.Add(new XElement("sell_price", SalesPrice));
            }

            if ((property == null || property == "reference") && LogBits.BitTest(Enums.Logfield.ReferenceNumber))
            {
                xml.Add(new XElement("reference", ReferenceNumber));
            }

            if ((property == null || property == "isbn") && LogBits.BitTest(Enums.Logfield.Isbn))
            {
                xml.Add(new XElement("isbn", Isbn));
            }

            if ((property == null || property == "ismn") && LogBits.BitTest(Enums.Logfield.Ismn))
            {
                xml.Add(new XElement("ismn", Ismn));
            }

            if ((property == null || property == "ean") && LogBits.BitTest(Enums.Logfield.Ean))
            {
                xml.Add(new XElement("ean", Ean));
            }

            if ((property == null || property == "upc") && LogBits.BitTest(Enums.Logfield.Upc))
            {
                xml.Add(new XElement("upc", Upc));
            }

            if ((property == null || property == "language_id") && LogBits.BitTest(Enums.Logfield.LanguageId))
            {
                xml.Add(new XElement("language_id", LanguageId != null ? ((int)LanguageId).ToString() : String.Empty));
            }

            if ((property == null || property == "binding_id") && LogBits.BitTest(Enums.Logfield.BindingId))
            {
                xml.Add(new XElement("binding_id", BindingId.ToString()));
            }

            if ((property == null || property == "grade_level") && LogBits.BitTest(Enums.Logfield.GradeLevel))
            {
                xml.Add(new XElement("grade_level", GradeLevel));
            }

            if ((property == null || property == "product_series_id") && LogBits.BitTest(Enums.Logfield.SeriesId))
            {
                xml.Add(new XElement("product_series_id", SeriesId.ToString()));
            }

            if ((property == null || property == "nr_of_pages") && LogBits.BitTest(Enums.Logfield.Pages))
            {
                xml.Add(new XElement("nr_of_pages", Pages.ToString()));
            }

            if ((property == null || property == "tax_rate_id") && LogBits.BitTest(Enums.Logfield.TaxRateId))
            {
                xml.Add(new XElement("tax_rate_id", ((int)TaxRateId).ToString()));
            }

            if ((property == null || property == "product_pictures") && LogBits.BitTest(Enums.Logfield.ProductPictureFilename))
            {
                xml.Add(new XElement("product_pictures", from picture in ProductPictures
                                     select new XElement(XElement.Parse(picture.ToXml()))));
            }

            if ((property == null || property == "description_nl") && LogBits.BitTest(Enums.Logfield.Description_NL))
            {
                xml.Add(new XElement("description_nl", Description_NL));
            }

            if ((property == null || property == "weight") && LogBits.BitTest(Enums.Logfield.Weight))
            {
                xml.Add(new XElement("weight", Weight.ToString()));
            }

            if ((property == null || property == "length") && LogBits.BitTest(Enums.Logfield.Length))
            {
                xml.Add(new XElement("length", Length.ToString()));
            }

            if ((property == null || property == "width") && LogBits.BitTest(Enums.Logfield.Width))
            {
                xml.Add(new XElement("width", Width.ToString()));
            }

            if ((property == null || property == "height") && LogBits.BitTest(Enums.Logfield.Height))
            {
                xml.Add(new XElement("height", Height.ToString()));
            }

            if ((property == null || property == "product_categories") && LogBits.BitTest(Enums.Logfield.ProductCategory))
            {
                xml.Add(new XElement("product_categories", from category in ProductCategories
                                     select new XElement("product_category", new XElement("id", category.Id),
                                                         new XElement("test", Test.ToInt()))));
            }

            if ((property == null || property == "internal_stock_qty") && LogBits.BitTest(Enums.Logfield.InternalStock))
            {
                xml.Add(new XElement("internal_stock_qty", InternalStock.ToString()));
            }

            if ((property == null || property == "external_stock_qty") && LogBits.BitTest(Enums.Logfield.ExternalStock))
            {
                xml.Add(new XElement("external_stock_qty", ExternalStock != null ? ExternalStock.ToString() : "1"));
            }

            if ((property == null || property == "supplier_id") && LogBits.BitTest(Enums.Logfield.SupplierId))
            {
                xml.Add(new XElement("supplier_id", SupplierId.ToString()));
            }

            if ((property == null || property == "promotion") && LogBits.BitTest(Enums.Logfield.Promotion))
            {
                xml.Add(new XElement("promotion", Promotion.ToInt().ToString()));
            }

            if ((property == null || property == "highlight_on_home") && LogBits.BitTest(Enums.Logfield.HighlightOnHome))
            {
                xml.Add(new XElement("highlight_on_home", HighlightOnHome.ToInt().ToString()));
            }

            if ((property == null || property == "available") && LogBits.BitTest(Enums.Logfield.ActiveInWebshop))
            {
                xml.Add(new XElement("available", ActiveInWebshop.ToInt().ToString()));
            }

            if ((property == null || property == "bestseller") && LogBits.BitTest(Enums.Logfield.BestSeller))
            {
                xml.Add(new XElement("bestseller", BestSeller.ToInt().ToString()));
            }

            if ((property == null || property == "minimum_order_qty") && LogBits.BitTest(Enums.Logfield.MinimumOrderQty))
            {
                xml.Add(new XElement("minimum_order_qty", (MinimumOrderQuantity != 0) ? MinimumOrderQuantity.ToString() : String.Empty));
            }

            if ((property == null || property == "teacher_discount") && LogBits.BitTest(Enums.Logfield.WebshopTeacherDiscount))
            {
                xml.Add(new XElement("teacher_discount", TeacherDiscount.ToString()));
            }

            if ((property == null || property == "reseller_discount") && LogBits.BitTest(Enums.Logfield.WebshopResellerDiscount))
            {
                xml.Add(new XElement("reseller_discount", ResellerDiscount.ToString()));
            }

            if ((property == null || property == "search_keywords") && LogBits.BitTest(Enums.Logfield.SearchKeywords))
            {
                xml.Add(new XElement("search_keywords", SearchKeywords));
            }

            if ((property == null || property == "store_pickup_only") && LogBits.BitTest(Enums.Logfield.StorePickupOnly))
            {
                xml.Add(new XElement("store_pickup_only", StorePickupOnly.ToInt().ToString()));
            }

            if ((property == null || property == "test"))
            {
                xml.Add(new XElement("test", Test.ToInt()));
            }

            if ((property == null || property == "created") && LogBits.BitTest(Enums.Logfield.CreateDttm))
            {
                xml.Add(new XElement("created", (!CreatedDttm.IsNullOrDefault()) ? ((DateTime)CreatedDttm).ToString("yyyy-MM-dd HH:mm:ss") : String.Empty));
            }

            if ((property == null || property == "updated") && LogBits.BitTest(Enums.Logfield.UpdateDttm))
            {
                xml.Add(new XElement("updated", (!UpdatedDttm.IsNullOrDefault()) ? ((DateTime)UpdatedDttm).ToString("yyyy-MM-dd HH:mm:ss") : String.Empty));
            }

            if ((property == null || property == "deleted") && LogBits.BitTest(Enums.Logfield.DeleteDttm))
            {
                xml.Add(new XElement("deleted", (!DeletedDttm.IsNullOrDefault()) ? ((DateTime)DeletedDttm).ToString("yyyy-MM-dd HH:mm:ss") : String.Empty));
            }

            string xmlString = xml.ToString();

            return(xmlString);
        }
        public int SelectPostCount()
        {
            var serviceContext = Dependencies.GetServiceContext();

            return(serviceContext.FetchBlogPostCount(Blog.Id, addCondition => addCondition("adx_authorid", "eq", AuthorId.ToString()), !Security.UserHasAuthorPermission));
        }
예제 #24
0
 public override int GetHashCode()
 {
     return(AuthorId.GetHashCode());
 }
예제 #25
0
 public ValueTask <Author> GetAuthorAsync(AuthorId authorId)
 => Context.Authors.FindAsync(authorId);
예제 #26
0
 public Author(AuthorId id, PersonName name)
 {
     Id   = id;
     Name = name;
 }
예제 #27
0
 public async Task <GuildMember?> GetMemberAsync()
 {
     return(Member ??= await Client.Cache.GuildMembers.GetAsync(AuthorId.ToString(), GuildId.ToString()));
 }
예제 #28
0
 public async Task <User?> GetAuthorAsync()
 {
     return(Author ??= await Client.Cache.Users.GetAsync(AuthorId.ToString()));
 }
 public Author Find(AuthorId authorId)
 {
     return(_context.Authors.Find(authorId.Id));
 }