Skip to content

Commit

Permalink
Close #9: Complete gift card template ExtraProperties input feature
Browse files Browse the repository at this point in the history
  • Loading branch information
gdlcf88 committed Apr 7, 2020
1 parent 3f8182b commit 7654419
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ public class CreateUpdateGiftCardTemplateDto

[DisplayName("GiftCardTemplateAnonymousConsumptionAllowed")]
public bool AnonymousConsumptionAllowed { get; set; }


[DisplayName("GiftCardTemplateExtraProperties")]
public Dictionary<string, object> ExtraProperties { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
using System.Collections.Generic;
using EasyAbp.GiftCardManagement.GiftCardTemplates.Dtos;
using EasyAbp.GiftCardManagement.GiftCards.Dtos;
using AutoMapper;
using EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCards.GiftCard.ViewModels;
using EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCardTemplates.GiftCardTemplate.ViewModels;
using Newtonsoft.Json;
using Volo.Abp.AutoMapper;

namespace EasyAbp.GiftCardManagement.Web
Expand All @@ -13,7 +16,13 @@ public GiftCardManagementWebAutoMapperProfile()
/* You can configure your AutoMapper mapping configuration here.
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
CreateMap<GiftCardTemplateDto, CreateUpdateGiftCardTemplateDto>();
CreateMap<GiftCardTemplateDto, CreateUpdateGiftCardTemplateViewModel>().ForMember(
model => model.ExtraProperties,
opt => opt.MapFrom(src => JsonConvert.SerializeObject(src.ExtraProperties)));
CreateMap<CreateUpdateGiftCardTemplateViewModel, CreateUpdateGiftCardTemplateDto>(MemberList.Source)
.ForMember(dto => dto.ExtraProperties,
opt => opt.MapFrom(src =>
JsonConvert.DeserializeObject<Dictionary<string, object>>(src.ExtraProperties)));
CreateMap<GiftCardDto, CreateGiftCardViewModel>().Ignore(model => model.Password);
CreateMap<GiftCardDto, UpdateGiftCardDto>().Ignore(dto => dto.Password);
CreateMap<CreateGiftCardViewModel, CreateGiftCardDto>(MemberList.Source);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
using System.Threading.Tasks;
using EasyAbp.GiftCardManagement.GiftCardTemplates;
using EasyAbp.GiftCardManagement.GiftCardTemplates.Dtos;
using EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCardTemplates.GiftCardTemplate.ViewModels;
using Microsoft.AspNetCore.Mvc;

namespace EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCardTemplates.GiftCardTemplate
{
public class CreateModalModel : GiftCardManagementPageModel
{
[BindProperty]
public CreateUpdateGiftCardTemplateDto GiftCardTemplate { get; set; }
public CreateUpdateGiftCardTemplateViewModel GiftCardTemplate { get; set; }

private readonly IGiftCardTemplateAppService _service;

Expand All @@ -19,7 +20,10 @@ public CreateModalModel(IGiftCardTemplateAppService service)

public async Task<IActionResult> OnPostAsync()
{
await _service.CreateAsync(GiftCardTemplate);
await _service.CreateAsync(
ObjectMapper.Map<CreateUpdateGiftCardTemplateViewModel, CreateUpdateGiftCardTemplateDto>(
GiftCardTemplate));

return NoContent();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Threading.Tasks;
using EasyAbp.GiftCardManagement.GiftCardTemplates;
using EasyAbp.GiftCardManagement.GiftCardTemplates.Dtos;
using EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCardTemplates.GiftCardTemplate.ViewModels;
using Microsoft.AspNetCore.Mvc;

namespace EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCardTemplates.GiftCardTemplate
Expand All @@ -13,7 +14,7 @@ public class EditModalModel : GiftCardManagementPageModel
public Guid Id { get; set; }

[BindProperty]
public CreateUpdateGiftCardTemplateDto GiftCardTemplate { get; set; }
public CreateUpdateGiftCardTemplateViewModel GiftCardTemplate { get; set; }

private readonly IGiftCardTemplateAppService _service;

Expand All @@ -25,12 +26,15 @@ public EditModalModel(IGiftCardTemplateAppService service)
public async Task OnGetAsync()
{
var dto = await _service.GetAsync(Id);
GiftCardTemplate = ObjectMapper.Map<GiftCardTemplateDto, CreateUpdateGiftCardTemplateDto>(dto);
GiftCardTemplate = ObjectMapper.Map<GiftCardTemplateDto, CreateUpdateGiftCardTemplateViewModel>(dto);
}

public async Task<IActionResult> OnPostAsync()
{
await _service.UpdateAsync(Id, GiftCardTemplate);
await _service.UpdateAsync(Id,
ObjectMapper.Map<CreateUpdateGiftCardTemplateViewModel, CreateUpdateGiftCardTemplateDto>(
GiftCardTemplate));

return NoContent();
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;

namespace EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCardTemplates.GiftCardTemplate.ViewModels
{
public class CreateUpdateGiftCardTemplateViewModel
{
[Required]
[DisplayName("GiftCardTemplateName")]
public string Name { get; set; }

[Required]
[DisplayName("GiftCardTemplateDisplayName")]
public string DisplayName { get; set; }

[DisplayName("GiftCardTemplateDescription")]
public string Description { get; set; }

[TextArea(Rows = 4)]
[DisplayName("GiftCardTemplateExtraProperties")]
public string ExtraProperties { get; set; }

[DisplayName("GiftCardTemplateTenantAllowed")]
public bool TenantAllowed { get; set; }

[DisplayName("GiftCardTemplateAnonymousConsumptionAllowed")]
public bool AnonymousConsumptionAllowed { get; set; }
}
}

0 comments on commit 7654419

Please sign in to comment.