public async Task <Result <AddPersonEmergencyContactResponse> > Handle(PersonEmergencyContactCommand request, CancellationToken cancellationToken) { try { PersonEmergencyContact pme = new PersonEmergencyContact(); if (request.PersonId > 0) { PersonEmergencyContactManager pmme = new PersonEmergencyContactManager(); if (request.Id != null || request.Id != 0) { PersonEmergencyContact listEmergencyContact = await Task.Run(() => pmme.GetSpecificEmergencyContact(Convert.ToInt32(request.Id), request.PersonId)); if (listEmergencyContact != null) { pma.UpdatePerson(request.firstname, request.middlename, request.lastname, request.gender, request.CreatedBy, listEmergencyContact.EmergencyContactPersonId); PersonEmergencyContact supporter = new PersonEmergencyContact() { Id = listEmergencyContact.Id, PersonId = request.PersonId, EmergencyContactPersonId = request.EmergencyContactPersonId, MobileContact = request.MobileContact, CreatedBy = request.CreatedBy, DeleteFlag = listEmergencyContact.DeleteFlag }; pmme.UpdatePersonEmergencyContact(supporter); msg += "Person Emergency Contact Updated Successfully"; } } else { int personEmergencyContactId = await Task.Run(() => pma.AddPersonEmergencySupporterUiLogic(request.firstname, request.middlename, request.lastname, request.gender, request.CreatedBy)); if (personEmergencyContactId > 0) { msg += "New Person EmergencyContact Added successfully"; } } } return(Result <AddPersonEmergencyContactResponse> .Valid(new AddPersonEmergencyContactResponse() { Message = msg })); } catch (Exception e) { return(Result <AddPersonEmergencyContactResponse> .Invalid(e.Message)); } }