Base solution for your next web application

Activities of "ninomartini"

Question

I have a fresh VS2017 setup. The same computer has VS2015 installed.

During installation I selected the .NET Core cross-platform development workload.

When I try to build the server application (v3.3) I get conflicts between different versions of the same dependent assembly (see attachment BuildWarnings.txt).

I am also unable to successful build the initial database (see attachment EfCapture.txt).

Did I miss something during the VS2017 setup? Any assistance is appreciated.

Thank you in advance, Nino Output.zip

Question

I am using v1.13.0.0 MVC/Angular version of ASP.NET Boilerplate.

When I try to navigate to <a class="postlink" href="http://localhost:44371/swagger/ui/index">http://localhost:44371/swagger/ui/index</a> I get a swagger Error 500.

500 : {"message":"An error has occurred."} <a class="postlink" href="http://localhost:44371/swagger/docs/v1">http://localhost:44371/swagger/docs/v1</a>

In the debug console there is a message "Unable to Load SwaggerUI" index:136 coming from <a class="postlink" href="http://localhost:44371/swagger/ui/index.js">http://localhost:44371/swagger/ui/index.js</a>

Do you know what I have missed? Any suggestions I can try?

Thank you in advance.

Question

In the ASP.NET MVC 5/Angular project, the Dynamic Web Layer automatically created API controllers. Every call had a request method of POST. In the ASP.NET Core/JavaScript project it appears we have a mix of POST, PUT and DELETE. Is there a naming convention in place here one should follow?

Thank you in advance, Nino

Question

Does the new TimeZone Management feature in v1.10 account for daylight savings?

When adding either of the following to an entity breaks the Test project.

public virtual DbGeography Location { get; set; }

or

[Column(TypeName = "Money")] public decimal MonthlyFee { get; set; }

I can handle using a decimal field in place of Money. However, I don't know how to get around DbGeography. Here is the exception when running ANY test:

System.Collections.Generic.KeyNotFoundException was unhandled by user code HResult=-2146232969 Message=The given key was not present in the dictionary. Source=mscorlib StackTrace: at System.Collections.Generic.Dictionary2.get_Item(TKey key) at Effort.Provider.EffortProviderManifest.GetStoreType(TypeUsage edmType) at System.Data.Entity.ModelConfiguration.Edm.Services.StructuralTypeMappingGenerator.MapTableColumn(EdmProperty property, String columnName, Boolean isInstancePropertyOnDerivedType) at System.Data.Entity.ModelConfiguration.Edm.Services.PropertyMappingGenerator.Generate(EntityType entityType, IEnumerable1 properties, EntitySetMapping entitySetMapping, MappingFragment entityTypeMappingFragment, IList1 propertyPath, Boolean createNewColumn) at System.Data.Entity.ModelConfiguration.Edm.Services.TableMappingGenerator.Generate(EntityType entityType, DbDatabaseMapping databaseMapping) at System.Data.Entity.ModelConfiguration.Edm.Services.DatabaseMappingGenerator.GenerateEntityTypes(DbDatabaseMapping databaseMapping) at System.Data.Entity.ModelConfiguration.Edm.Services.DatabaseMappingGenerator.Generate(EdmModel conceptualModel) at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo) at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) at System.Data.Entity.Internal.RetryLazy2.GetValue(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() at Abp.EntityFramework.AbpDbContext.Initialize() at Castle.MicroKernel.LifecycleConcerns.InitializationConcern.Apply(ComponentModel model, Object component) at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.ApplyConcerns(IEnumerable1 steps, Object instance) at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.ApplyCommissionConcerns(Object instance) at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context) at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden) at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally) at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy) at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden) at Castle.MicroKernel.Handlers.ExtendedHandler.InvokeResolvePipeline(Int32 extensionIndex, ResolveInvocation invocation) at Castle.MicroKernel.Handlers.ExtendedHandler.<>c__DisplayClass6.<InvokeResolvePipeline>b__5() at Castle.MicroKernel.Handlers.ResolveInvocation.Proceed() at Castle.MicroKernel.Handlers.ComponentLifecycleExtension.Intercept(ResolveInvocation invocation) at Castle.MicroKernel.Handlers.ExtendedHandler.InvokeResolvePipeline(Int32 extensionIndex, ResolveInvocation invocation) at Castle.MicroKernel.Handlers.ExtendedHandler.Resolve(CreationContext context, Boolean instanceRequired) at Castle.MicroKernel.Handlers.AbstractHandler.Resolve(CreationContext context) at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy) at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, IDictionary arguments, IReleasePolicy policy) at Castle.MicroKernel.DefaultKernel.Resolve(Type service, IDictionary arguments) at Castle.Windsor.WindsorContainer.Resolve[T]() at Abp.Dependency.IocManager.Resolve[T]() at FourMartinis.TracZu.Tests.AppTestBase.UsingDbContext(Action1 action) in D:\Documents\GitHub\TracZu\Tests\FourMartinis.TracZu.Tests\AppTestBase.cs:line 67 at FourMartinis.TracZu.Tests.AppTestBase..ctor() in D:\Documents\GitHub\TracZu\Tests\FourMartinis.TracZu.Tests\AppTestBase.cs:line 34 at FourMartinis.TracZu.Tests.Auditing.AuditLogAppService_Tests..ctor() in D:\Documents\GitHub\TracZu\Tests\FourMartinis.TracZu.Tests\Auditing\AuditLogAppService_Tests.cs:line 20 InnerException:

Thank you in advance.

When a record is created, the framework populates the CreationTime correctly and sets the CreatorUserId to the logged in user correctly. When the record is modified, the framework populates the LastModificationTime and LastModifierUserId correctly. However, it also makes the CreaterUserId null after the record is modified. Is this by design? If yes, is there a way to keep the CreatorUserId from getting cleared?

I have the following method, which is NOT being included in the Audit Log when executed:

[AbpAuthorize(AppPermissions.Pages_Tenant_Account_Groups_Create)]
        public async Task CreateGroup(CreateGroupInput input)
        {
            var group = input.MapTo<Group>();
            await _groupRepository.InsertAsync(group);
        }

However, this method is included in the Audit Log when executed:

[AbpAuthorize(AppPermissions.Pages_Tenant_Account_Groups_Edit)]
        public async Task<GroupEditDto> GetGroupForEdit(EntityRequestInput input)
        {
            var group = await _groupRepository.FirstOrDefaultAsync(g => g.Id == input.Id);
            return group.MapTo<GroupEditDto>();
        }

Here are the Dto classes begin used:

[AutoMapTo(typeof(Group))]
    public class CreateGroupInput: IInputDto
    {
        [Required]
        [StringLength(Group.MaxNameLength)]
        public string Name { get; set; }

        [StringLength(Group.MaxDescriptionLength)]
        public string Description { get; set; }  
    }
[AutoMap(typeof(Group))]
    public class GroupEditDto : EntityDto, IDoubleWayDto
    {
        [Required]
        [StringLength(Group.MaxNameLength)]
        public string Name { get; set; }

        [StringLength(Group.MaxDescriptionLength)]
        public string Description { get; set; }
    }

Does anyone know what I am missing?

Thank you in advance.

Showing 1 to 7 of 7 entries