Hi, Do I have to return the result in Json to be able to read it on Jquery side? Because id is empty and other fields are filled
Hi oguzhanagir,
It works fine thks ! Is there any possibility to change View Sate from Create to Edit so when saving the param Id of person is sended to the server in personservice
And please additional infirmation :
what is this method for :
abp.event.trigger('app.createOrEditPersonModalSaved');
Hi,
I tried this but the id is null
protected virtual async Task <Person> Create(CreateOrEditPersonDto input) { var person = ObjectMapper.Map<Person>(input);
if (AbpSession.TenantId != null)
{
person.TenantId = (int?)AbpSession.TenantId;
}
person.Color = GenerateRandomColor();
await _personRepository.InsertAsync(person);
return person;
} the purpose is to be able to save an entity without having to close the view and to have the data returned in the form
`
Hi oguzhanagir,
I found the solution :
public ICollection<Tache> Taches { get; set; } was in the wrong class : Should be in CreateOrEditPersonDto anf not in GetPersonForEditOutput !
Thks anyway for your precious help
bernard
Hi,
I'm moving forward with my problem, I changed the initial request :
var person = await _personRepository.FirstOrDefaultAsync(input.Id);
by
var person = await _personRepository.GetAllIncluding(x => x.Taches).FirstOrDefaultAsync(x => x.Id == input.Id);
this gives me an include collection of taches :
But the mapping doesn't work :
For reminding GetPersonForEditOutput class looks like :
` public class GetPersonForEditOutput { public CreateOrEditPersonDto Person { get; set; }
public virtual Guid? PictureId { get; set; }
public string TacheIntitule { get; set; }
public string PersonIntitule { get; set; }
public string EntityFullName { get; set; }
public List<string> AllEntities { get; set; }
public List<DynamicPropertyDto> DynamicProperties { get; set; }
public ICollection<TacheDto> Taches { get; set; }
}`
and ( i does not add public ICollection<TacheDto> Taches { get; set; } in it)
` public class CreateOrEditPersonDto : EntityDto<int?> {
[StringLength(PersonConsts.MaxIntituleLength, MinimumLength = PersonConsts.MinIntituleLength)]
public string Intitule { get; set; }
[StringLength(PersonConsts.MaxAdresse1Length, MinimumLength = PersonConsts.MinAdresse1Length)]
public string Adresse1 { get; set; }
[StringLength(PersonConsts.MaxAdresse2Length, MinimumLength = PersonConsts.MinAdresse2Length)]
public string Adresse2 { get; set; }
[StringLength(PersonConsts.MaxAdresse3Length, MinimumLength = PersonConsts.MinAdresse3Length)]
public string Adresse3 { get; set; }
[StringLength(PersonConsts.MaxCodePostalLength, MinimumLength = PersonConsts.MinCodePostalLength)]
public string CodePostal { get; set; }
[StringLength(PersonConsts.MaxVilleLength, MinimumLength = PersonConsts.MinVilleLength)]
public string Ville { get; set; }
[StringLength(PersonConsts.MaxEmailLength, MinimumLength = PersonConsts.MinEmailLength)]
public string Email { get; set; }
[StringLength(PersonConsts.MaxTelLength, MinimumLength = PersonConsts.MinTelLength)]
public string Telephone { get; set; }
[StringLength(PersonConsts.MaxNotesLength, MinimumLength = PersonConsts.MinNotesLength)]
public string Notes { get; set; }
public TypePerson TypePerson { get; set; }
[StringLength(PersonConsts.MaxCodeClientLength, MinimumLength = PersonConsts.MinCodeClientLength)]
public string CodeClient { get; set; }
[StringLength(PersonConsts.MaxCodeComptableLength, MinimumLength = PersonConsts.MinCodeComptableLength)]
public string CodeComptable { get; set; }
public Guid? PictureId { get; set; }
public bool IsActive { get; set; }
[StringLength(PersonConsts.MaxNomJeuneFilleLength, MinimumLength = PersonConsts.MinNomJeuneFilleLength)]
public string NomJeuneFille { get; set; }
public DateTime? DateNaissance { get; set; }
public string Nationalite { get; set; }
[StringLength(PersonConsts.MaxNumSecuLength, MinimumLength = PersonConsts.MinNumSecuLength)]
public string NumSecu { get; set; }
[StringLength(PersonConsts.MaxPrenomLength, MinimumLength = PersonConsts.MinPrenomLength)]
public string Prenom { get; set; }
[StringLength(PersonConsts.MaxNomLength, MinimumLength = PersonConsts.MinNomLength)]
public string Nom { get; set; }
[StringLength(PersonConsts.MaxFonctionLength, MinimumLength = PersonConsts.MinFonctionLength)]
public string Fonction { get; set; }
public string CodeNaf { get; set; }
public string Siret { get; set; }
[StringLength(PersonConsts.MaxFormeJuridiqueLength, MinimumLength = PersonConsts.MinFormeJuridiqueLength)]
public string FormeJuridique { get; set; }
[Range(PersonConsts.MinEmployesValue, PersonConsts.MaxEmployesValue)]
public int Employes { get; set; }
public decimal CA { get; set; }
public string Adeli { get; set; }
public string RPPS { get; set; }
public ListSource Source { get; set; }
public ListeProfilMorale ProfilMorale { get; set; }
public ListeProfilPhysique ProfilPhysique { get; set; }
public ListeCivilite Civilite { get; set; }
public ListeProfilIntervenant ProfilIntervenant { get; set; }
public TypeStagiaire TypeStagiaire { get; set; }
public ListeStatutPerson Statut { get; set; }
public int? ParentId { get; set; }`
and Person class entity :
[Table("Persons")] public class Person : Entity, IMayHaveTenant,ISoftDelete { ............. public ICollection<Tache> Taches { get; set; }
}
How can I display it in razor view
Hi
Sorry for re-opening this subject but i have issue when trying to save entity :
` public virtual async Task CreateOrEdit(CreateOrEditTacheDto input) { if (input.Id == null) { await Create(input); } else { var taskForperson1 = new PersonTacheDto(); var taskForperson2 = new PersonTacheDto();
taskForperson1.Id = 16;
taskForperson2.Id = 17;
taskForperson1.TacheId = 4;
taskForperson2.TacheId = 4;
input.Persons.Add(taskForperson1);
input.Persons.Add(taskForperson2);
await Update(input);
}
}`
Automapper issue
AutoMapper.AutoMapperMappingException: Error mapping types.
Mapping types: CreateOrEditTacheDto -> Tache ERUDY.Commercial.Dtos.CreateOrEditTacheDto -> ERUDY.Commercial.Tache
Type Map configuration: CreateOrEditTacheDto -> Tache ERUDY.Commercial.Dtos.CreateOrEditTacheDto -> ERUDY.Commercial.Tache
Destination Member: Persons
---> AutoMapper.AutoMapperMappingException: Missing type map configuration or unsupported mapping.
Mapping types: PersonTacheDto -> Person ERUDY.Commercial.Dtos.PersonTacheDto -> ERUDY.Commercial.Person at lambda_method4386(Closure, PersonTacheDto, Person, ResolutionContext) at lambda_method4385(Closure, CreateOrEditTacheDto, Tache, ResolutionContext) --- End of inner exception stack trace --- at lambda_method4385(Closure, CreateOrEditTacheDto, Tache, ResolutionContext) at Abp.AutoMapper.AutoMapperObjectMapper.Map[TSource,TDestination](TSource source, TDestination destination) at ERUDY.Commercial.TachesAppService.Update(CreateOrEditTacheDto input) in C:\Users\Bernard\source\repos\Erudy\src\ERUDY.Application\Commercial\TachesAppService.cs:line 185 at Abp.Authorization.AuthorizationInterceptor.InternalInterceptAsynchronous(IInvocation invocation) at ERUDY.Commercial.TachesAppService.CreateOrEdit(CreateOrEditTacheDto input) in C:\Users\Bernard\source\repos\Erudy\src\ERUDY.Application\Commercial\TachesAppService.cs:line 163 at Abp.Authorization.AuthorizationInterceptor.InternalInterceptAsynchronous(IInvocation invocation) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker....
Thks a lot for this reply