コード例 #1
0
        public async Task <Result <AddPersonOccupationLevelResponse> > Handle(PersonOccupationLevelCommand request, CancellationToken cancellationToken)
        {
            try
            {
                RegisterPersonService sc = new RegisterPersonService(_unitOfWork);
                if (request.PersonId > 0)
                {
                    PersonOccupation pmo = new PersonOccupation();
                    pmo = await Task.Run(() => sc.GetCurrentOccupation(request.PersonId));

                    if (pmo != null)
                    {
                        pmo.DeleteFlag = true;
                        var pm = await Task.Run(() => sc.UpdateOccupation(pmo));

                        // var AddedPersonOcc = await Task.Run(() => sc.AddPersonOccupation(request.PersonId, request.UserId, request.Occupation));
                        if (pm != null)
                        {
                            msg = "PersonOccupation Updated successfully";
                        }
                    }
                    else
                    {
                        var AddedPersonOcc = await Task.Run(() => sc.AddPersonOccupation(request.PersonId, request.UserId, request.Occupation));

                        if (AddedPersonOcc != null)
                        {
                            msg = "PersonOccupation Added  successfully for personId" + request.PersonId;
                        }
                    }
                }
                return(Result <AddPersonOccupationLevelResponse> .Valid(new AddPersonOccupationLevelResponse()
                {
                    Message = msg
                }));
            }
            catch (Exception e)
            {
                return(Result <AddPersonOccupationLevelResponse> .Invalid(e.Message));
            }
        }