public EmptyResult DeleteOrganization(int organizationId)
        {
            if (organizationId <= 0)
            {
                return(new EmptyResult(OrganizationServiceErrors.InvalidOrganizationIdError()));
            }

            if (!organizationRepository.OrganizationExists(organizationId))
            {
                return(new EmptyResult(OrganizationServiceErrors.OrganizationNotFoundError()));
            }

            this.organizationRepository.DeleteOrganization(organizationId);

            return(new EmptyResult());
        }
        public Result <GetOrganizationResult> GetOrganization(int organizationId)
        {
            if (organizationId <= 0)
            {
                return(new Result <GetOrganizationResult>(OrganizationServiceErrors.InvalidOrganizationIdError()));
            }

            if (!organizationRepository.OrganizationExists(organizationId))
            {
                return(new Result <GetOrganizationResult>(OrganizationServiceErrors.OrganizationNotFoundError()));
            }

            var res = this.organizationRepository.GetOrganization(organizationId);

            return(new Result <GetOrganizationResult>(res));
        }
        /// <summary>
        /// Updates an organization with passed fields
        /// </summary>
        /// <param name="command">contains ID and fields</param>
        /// <returns></returns>
        public EmptyResult UpdateOrganization(UpdateOrganizationCommand command)
        {
            if (command?.OrganizationId == null || command.OrganizationId <= 0)
            {
                return(new EmptyResult(OrganizationUserServiceErrors.InvalidOrganizationId()));
            }
            if (!organizationRepository.OrganizationExists(command.OrganizationId.Value))
            {
                return(new EmptyResult(OrganizationServiceErrors.OrganizationNotFoundError()));
            }
            if (command.Name != null && organizationRepository.OrganizationExistsByName(command.Name, command.OrganizationId.Value))
            {
                return(new EmptyResult(OrganizationServiceErrors.InvalidUpdateOrganizationNameError(nameof(command.Name))));
            }
            organizationRepository.UpdateOrganization(command);

            return(new EmptyResult());
        }